Heim >Java >javaLernprogramm >Wie kann man in Java konsistent auf zwei Dezimalstellen runden?

Wie kann man in Java konsistent auf zwei Dezimalstellen runden?

DDD
DDDOriginal
2024-11-29 05:46:13949Durchsuche

How to Consistently Round Up to Two Decimal Places in Java?

Wie rundet man in Java auf zwei Dezimalstellen auf?

Diese Frage wurde ausführlich auf StackOverflow diskutiert. Viele der vorgeschlagenen Lösungen haben sich jedoch als unwirksam erwiesen. In diesem Artikel wird eine Lösung vorgestellt, die Werte konsistent auf zwei Dezimalstellen rundet.

Der herkömmliche Ansatz, Math.round() zu verwenden, ist unzureichend, da er die Zahl abschneidet, anstatt sie aufzurunden. Um dies zu umgehen, sollte der Code wie folgt geändert werden:

double a = 123.13698;
double roundOff = Math.round(a * 100.0) / 100.0;

System.out.println(roundOff);

Diese Lösung nutzt Typumwandlung, um das ganzzahlige Ergebnis von Math.round() in ein Double umzuwandeln. Dadurch wird der Endwert je nach Wunsch auf zwei Nachkommastellen aufgerundet. Ein alternativer Ansatz ist:

double roundOff = (double) Math.round(a * 100) / 100;

Beide Methoden erzeugen die gewünschte Ausgabe von 123,14. Es ist wichtig zu beachten, dass sowohl Eingabe als auch Ausgabe doppelt sein müssen, damit die Rundung korrekt funktioniert.

Das obige ist der detaillierte Inhalt vonWie kann man in Java konsistent auf zwei Dezimalstellen runden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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