Heim > Java > javaLernprogramm > Wie analysiere ich Doubles mit Komma als Dezimaltrennzeichen in Java korrekt?

Wie analysiere ich Doubles mit Komma als Dezimaltrennzeichen in Java korrekt?

DDD
Freigeben: 2024-12-12 22:07:16
Original
641 Leute haben es durchsucht

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

So behandeln Sie Kommas als Dezimaltrennzeichen beim Double Parsing

Die Verwendung eines Kommas als Dezimaltrennzeichen kann zu Fehlern bei der Verwendung führen Standardmethode Double.valueOf(). 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 aufgrund des Vorhandenseins des Kommas eine NumberFormatException aus. Um dieses Problem zu lösen, könnte man die Verwendung der Ersetzungstechnik p = p.replaceAll(",", ".") in Betracht ziehen. Es gibt jedoch einen effizienteren und lokalisierteren Ansatz mit der Klasse java.text.NumberFormat.

Lösung mit NumberFormat

Die NumberFormat-Klasse ermöglicht das entsprechende Parsen von Zahlen an bestimmte Gebietsschemaeinstellungen, einschließlich der Handhabung verschiedener Dezimaltrennzeichen. So verwenden Sie es, um ein Double mit einem Komma-Trennzeichen zu analysieren:

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

In diesem Code erstellt NumberFormat.getInstance(Locale.FRANCE) eine Instanz der NumberFormat-Klasse mit dem französischen Gebietsschema, wo das Komma steht wird üblicherweise als Dezimaltrennzeichen verwendet. Die format.parse()-Methode analysiert dann die Zeichenfolge in ein Number-Objekt, das mit der doubleValue()-Methode in ein Double umgewandelt werden kann.

Mehrsprachige Unterstützung

Für mehrsprachige Anwendungen kann die Methode Locale.getDefault() verwendet werden, um das Standardgebietsschema des Benutzers abzurufen System:

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

Dieser Ansatz ermöglicht es dem Code, sich an das bevorzugte Gebietsschema des Benutzers anzupassen und Dezimaltrennzeichen entsprechend zu verarbeiten.

Das obige ist der detaillierte Inhalt vonWie analysiere ich Doubles mit Komma als Dezimaltrennzeichen in Java korrekt?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage