"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como analisar duplas com segurança com vírgula como separador decimal em Java?

Como analisar duplas com segurança com vírgula como separador decimal em Java?

Publicado em 2024-12-22
Navegar:975

How to Safely Parse Doubles with Comma as Decimal Separator in Java?

Como analisar efetivamente o dobro com vírgula como separador decimal

Problema:

Valores de string representar números decimais com vírgulas como separadores, como "1.234", pode causar NumberFormatException quando analisado usando Double.valueOf().

Solução proposta:

Substituir vírgulas por pontos usando p = p.replaceAll(",", ".") é uma abordagem válida , mas há um método mais robusto.

NumberFormat do Java para análise decimal:

Para lidar com decimais com separadores específicos de localidade, Java fornece NumberFormat. Considere o seguinte código:

NumberFormat format = NumberFormat.getInstance(Locale.FRANCE);
Number number = format.parse("1,234");
double d = number.doubleValue();

Atualização para aplicativos multilíngues:

Em aplicativos multilíngues, separadores decimais específicos de localidade são importantes. Para oferecer suporte a isso, use NumberFormat.getInstance(Locale.getDefault()) para obter o formato da localidade atual.

Vantagens de NumberFormat:

  • Lida com vírgulas e separadores específicos de localidade.
  • Oferece flexibilidade para vários formatos de entrada.
  • Garante a análise e a representação são consistentes com a localidade definida.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3