Es gibt eine gute Frage zum Runden von Dezimalzahlen in Java here. Aber ich frage mich, wie kann ich die nachfolgenden Nullen enthalten Preise in meinem Programm angezeigt werden wie: $ 1.50, $ 1.00Wie wird ein Preis bis zu zwei Dezimalstellen (Cents) einschließlich abschließender Nullen in Java korrekt angezeigt?
Die einfache Lösung von
String.format("%.2g%n", 0.912385);
funktioniert gut, lässt aber die Hinter Null, wenn es an ist die letzte Dezimalstelle. Das Problem kommt in meinem Programm auf, obwohl ich Ausdrücke nur wie folgt verwenden:
double price = 1.50;
Wenn ich Berechnungen mit unterschiedlichen Preisen (addieren, multiplizieren, etc.) das Ergebnis in erster Linie wie folgt angezeigt:
$2.5000000000000003
Also, die String.format mit arbeitet zu diesem Zweck in Ordnung, aber es kürzt das obige Beispiel zu
$2.5
gibt es eine richtige Art und Weise die Hinter Null bei der zweiten Nachkommastelle zu zeigen, Ort? Oder beide Nullen, wenn die Ausgabe einer Berechnung sollte
$2.00
Als Faustregel sollten Sie niemals Gleitkommazahlen zur Darstellung von Währungen verwenden. Verwenden Sie stattdessen eine Ganzzahl für den Cent/Pence. – Pool