Konvertieren von string zu BigDecimal im java

Lese ich die Währung von XML in Java.

String currency = 135.69;

Wenn ich wandeln diese in BigDecimal ich bekommen:

 System.out.println(new BigDecimal(135.69));

Ausgabe:

135.68999999999999772626324556767940521240234375.

Warum ist es, dass es gibt diese vielen zahlen? Wie kann ich diese vermeiden? Alles was ich will ist für Sie zu Ausgang 135.69.

  • Sie sicher, Art der currency ist string? Und Sie Lesen den Wert als string nur?
  • mögliche Duplikate von spezifische Präzision eines BigDecimal
  • Ihre Währung ist nicht einmal ein String mit zu beginnen; benutzen Sie einfach die BigDecimal Konstruktor mit einem String als argument.
  • Möglicherweise gibt es viele Lösungen, aber wissen Sie, warum es passiert? Lesen Sie dies, wenn Sie das nicht: effbot.org/pyfaq/...
InformationsquelleAutor Hari Rao | 2015-02-28
Schreibe einen Kommentar