Double mit Komma als Dezimaltrennzeichen parsen: Eine umfassende Lösung
Wenn Sie mit Daten arbeiten, die Komma (,) als Dezimaltrennzeichen verwenden, Das Parsen in ein Double mit Double.valueOf() kann zu einer NumberFormatException führen. Dies liegt daran, dass Double.valueOf() einen Punkt (.) als Dezimaltrennzeichen erwartet.
Eine Lösung besteht darin, das Komma mithilfe von String.replaceAll() durch einen Punkt zu ersetzen, wie in der Frage gezeigt. Es gibt jedoch einen robusteren und länderspezifischen Ansatz mit java.text.NumberFormat.
Nutzung von NumberFormat für länderspezifisches Parsen
NumberFormat bietet Methoden zum Parsen und Formatieren Sie Zahlen entsprechend dem angegebenen Gebietsschema. Um eine Zeichenfolge mit einem Komma als Dezimaltrennzeichen zu analysieren, führen Sie die folgenden Schritte aus:
Hier ist der Code, der diesen Ansatz demonstriert:
NumberFormat format = NumberFormat.getInstance(Locale.FRANCE); Number number = format.parse("1,234"); double d = number.doubleValue(); System.out.println(d); // Prints 1.234
Mithilfe von NumberFormat können Sie doppelte Werte mit Kommas als Dezimaltrennzeichen auf gebietsschemaspezifische Weise analysieren und so auch bei globalisierten Werten genaue Ergebnisse sicherstellen Anwendungen.
Das obige ist der detaillierte Inhalt vonWie kann man Doubles mit Komma als Dezimaltrennzeichen in Java robust analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!