Maison >Java >javaDidacticiel >Comment analyser efficacement les doubles avec des séparateurs décimaux virgules en Java ?
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);
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 ?
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();
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().
Pour prendre en charge les applications multilingues, utilisez le code suivant :
NumberFormat format = NumberFormat.getInstance(Locale.getDefault());
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!