Maison >Java >javaDidacticiel >Comment analyser en toute sécurité les doubles avec la virgule comme séparateur décimal en Java ?

Comment analyser en toute sécurité les doubles avec la virgule comme séparateur décimal en Java ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-05 03:42:08468parcourir

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

Comment analyser efficacement le double avec une virgule comme séparateur décimal

Problème :

Valeurs de chaîne représenter des nombres décimaux avec des virgules comme séparateurs, comme "1 234", peut provoquer une exception NumberFormatException lorsque analysé à l'aide de Double.valueOf().

Solution proposée :

Remplacer les virgules par des points en utilisant p = p.replaceAll(",", ".") est un approche valide, mais il existe une méthode plus robuste.

NumberFormat de Java pour Decimal Analyse :

Pour gérer les décimales avec des séparateurs spécifiques aux paramètres régionaux, Java fournit NumberFormat. Considérez le code suivant :

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

Mise à jour pour les applications multilingues :

Dans les applications multilingues, les séparateurs décimaux spécifiques aux paramètres régionaux sont importants. Pour prendre en charge cela, utilisez NumberFormat.getInstance(Locale.getDefault()) pour obtenir le format des paramètres régionaux actuels.

Avantages de NumberFormat :

  • Gère les virgules et séparateurs spécifiques aux paramètres régionaux.
  • Offre une flexibilité pour diverses entrées formats.
  • Garantit que l'analyse et la représentation sont cohérentes avec les paramètres régionaux définis.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn