Wenn der Wert 200.3456
sollte sie wie folgt formatiert werden 200.34
. Wenn es 200
dann sollte es sein 200.00
.
- Wie rundet man eine Zahl in Java auf n Dezimalstellen? (37 Antworten )
Antworten
Zu viele Anzeigen?Aus Ihrer Frage geht hervor, dass Sie auch die Rundung der Zahlen vermeiden wollen? Ich glaube, .format() rundet die Zahlen auf halbe Höhe, afaik?
Wenn Sie also aufrunden wollen, sollte 200,3456 200,35 für eine Genauigkeit von 2 sein. Aber in Ihrem Fall, wenn Sie nur die ersten 2 wollen und dann den Rest verwerfen?
Man könnte sie mit 100 multiplizieren und dann in einen int umwandeln (oder die Untergrenze der Zahl nehmen), bevor man wieder durch 100 dividiert.
200.3456 * 100 = 20034.56;
(int) 20034.56 = 20034;
20034/100.0 = 200.34;
Bei sehr großen Zahlen in der Nähe der Grenze könnte es allerdings Probleme geben. In diesem Fall in eine Zeichenfolge konvertieren und substring'ing es würde genauso leicht funktionieren.
- See previous answers
- Weitere Antworten anzeigen