Maison > Java > javaDidacticiel > Comment analyser efficacement les doubles avec des séparateurs décimaux virgules en Java ?

Comment analyser efficacement les doubles avec des séparateurs décimaux virgules en Java ?

Patricia Arquette
Libérer: 2024-12-19 12:38:16
original
856 Les gens l'ont consulté

How to Efficiently Parse Doubles with Comma Decimal Separators in Java?

Analyse double avec séparateur décimal virgule

En Java, l'utilisation du NumberFormat par défaut peut entraîner des erreurs lors de l'analyse de chaînes avec des virgules comme séparateurs décimaux. Considérez le code suivant :

String p = "1,234";
Double d = Double.valueOf(p); 
System.out.println(d);
Copier après la connexion

Ce code lancera une NumberFormatException. Pour résoudre ce problème, une solution pratique serait de remplacer la virgule par un point en utilisant p.replaceAll(",", "."). Cependant, existe-t-il un moyen plus efficace ?

Meilleure méthode d'analyse avec java.text.NumberFormat

La classe java.text.NumberFormat offre une solution sophistiquée. Il vous permet de spécifier les règles de formatage spécifiques aux paramètres régionaux, garantissant que le séparateur décimal est correctement reconnu. Voici comment utiliser NumberFormat :

NumberFormat format = NumberFormat.getInstance(Locale.FRANCE);
Number number = format.parse("1,234");
double d = number.doubleValue();
Copier après la connexion

Dans ce code, nous instancions un NumberFormat pour la langue française, où la virgule est utilisée comme séparateur décimal. La méthode parse() convertit la chaîne en un objet Number, que nous convertissons ensuite en double à l'aide de doubleValue().

Support multilingue

Pour prendre en charge les applications multilingues, utilisez le code suivant :

NumberFormat format = NumberFormat.getInstance(Locale.getDefault());
Copier après la connexion

Cela créera un NumberFormat pour les paramètres régionaux par défaut, qui sont les paramètres régionaux du système d'exploitation de l'utilisateur actuel.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal