Heim > Java > javaLernprogramm > Wie kann man Doubles mit Komma als Dezimaltrennzeichen in Java robust analysieren?

Wie kann man Doubles mit Komma als Dezimaltrennzeichen in Java robust analysieren?

Susan Sarandon
Freigeben: 2024-12-08 11:30:13
Original
466 Leute haben es durchsucht

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

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:

  1. Erstellen Sie eine NumberFormat-Instanz mit NumberFormat.getInstance(Locale.FRANCE) oder NumberFormat.getInstance(Locale.getDefault()) um mehrsprachige Apps zu unterstützen.
  2. Rufen Sie format.parse(String) auf, um die Zeichenfolge in eine Zahl zu analysieren Objekt.
  3. Konvertieren Sie das Number-Objekt mit number.doubleValue() in ein Double.

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage