In Java können in Java die Standardnummerformat zu Fehlern führen, wenn Strings mit Kommas als Dezimaltrenntrennzeichen analysiert werden. Betrachten Sie den folgenden Code:
String p = "1,234"; Double d = Double.valueOf(p); System.out.println(d);
Dieser Code wirft eine numberformatexception aus. Um dieses Problem zu überwinden, würde eine bequeme Lösung darin bestehen, das Komma durch eine Periode mit P.Replaceall (",", ",", ") zu ersetzen. Gibt es jedoch eine effizientere Art und Weise?
Die Klasse java.text.numberformat bietet eine ausgefeilte Lösung. Sie können die lokalspezifischen Formatierungsregeln angeben, um sicherzustellen, dass der Dezimaltrennzeichen korrekt erkannt wird. Hier erfahren Sie, wie Sie NumberFormat verwenden:
NumberFormat format = NumberFormat.getInstance(Locale.FRANCE); Number number = format.parse("1,234"); double d = number.doubleValue();
In diesem Code instanziieren wir eine Nummer für das französische Gebietsschema, in dem das Komma als Dezimalabschlüsselung verwendet wird. Die Parse () -Methode konvertiert die Zeichenfolge in ein Zahlenobjekt, das wir dann mit DoubleValue () in ein Doppel konvertieren. NumberFormat.getInstance (locale.getDefault ());
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3