Heim > Java > javaLernprogramm > Wie kann man Doubles mit Komma-Dezimaltrennzeichen in Java effizient analysieren?

Wie kann man Doubles mit Komma-Dezimaltrennzeichen in Java effizient analysieren?

Patricia Arquette
Freigeben: 2024-12-19 12:38:16
Original
842 Leute haben es durchsucht

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

Double mit Komma-Dezimaltrennzeichen parsen

In Java kann die Verwendung des Standard-NumberFormats zu Fehlern beim Parsen von Zeichenfolgen mit Kommas als Dezimaltrennzeichen führen. Betrachten Sie den folgenden Code:

String p = "1,234";
Double d = Double.valueOf(p); 
System.out.println(d);
Nach dem Login kopieren

Dieser Code löst eine NumberFormatException aus. Um dieses Problem zu lösen, besteht eine praktische Lösung darin, das Komma mithilfe von p.replaceAll(",", ".") durch einen Punkt zu ersetzen. Gibt es jedoch einen effizienteren Weg?

Bessere Parsing-Methode mit java.text.NumberFormat

Die Klasse java.text.NumberFormat bietet eine ausgefeilte Lösung. Sie können damit die gebietsschemaspezifischen Formatierungsregeln festlegen und so sicherstellen, dass das Dezimaltrennzeichen korrekt erkannt wird. So verwenden Sie NumberFormat:

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

In diesem Code instanziieren wir ein NumberFormat für das französische Gebietsschema, wobei das Komma als Dezimaltrennzeichen verwendet wird. Die parse()-Methode wandelt die Zeichenfolge in ein Number-Objekt um, das wir dann mit doubleValue() in ein Double umwandeln.

Mehrsprachige Unterstützung

Um mehrsprachige Anwendungen zu unterstützen, verwenden Sie die Folgender Code:

NumberFormat format = NumberFormat.getInstance(Locale.getDefault());
Nach dem Login kopieren

Dadurch wird ein NumberFormat für das Standardgebietsschema erstellt, das das Gebietsschema des Betriebs des aktuellen Benutzers ist System.

Das obige ist der detaillierte Inhalt vonWie kann man Doubles mit Komma-Dezimaltrennzeichen in Java effizient analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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