Heim >Java >javaLernprogramm >Wie kann man in Java doppelte Werte genau auf zwei Dezimalstellen runden?

Wie kann man in Java doppelte Werte genau auf zwei Dezimalstellen runden?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-30 12:14:13279Durchsuche

How to Accurately Round Doubles to Two Decimal Places in Java?

Aufrunden auf zwei Dezimalstellen in Java

Diese Frage befasst sich mit der Herausforderung, doppelte Werte in Java auf zwei Dezimalstellen zu runden. Der bereitgestellte Codeausschnitt versucht, Math.round() zum Runden zu verwenden, aber die Ausgabe ist falsch.

Die Lösung für dieses Problem liegt im Verständnis der Präzision von Math.round(). Standardmäßig wird auf die nächste Ganzzahl gerundet. Um zwei Dezimalstellen zu erhalten, muss der Wert entsprechend skaliert werden.

Ein praktikabler Ansatz besteht darin, das Doppelte vor dem Runden mit 100 zu multiplizieren und dann durch 100 zu dividieren, um die Genauigkeit beizubehalten:

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

Dies -Methode stellt sicher, dass die Rundung auf zwei Dezimalstellen durchgeführt wird.

Alternativ kann das Ergebnis von Math.round() umgewandelt werden. zu einem Double kann auch das gewünschte Ergebnis erzielen:

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

Beide Ansätze runden den angegebenen Double-Wert genau auf zwei Dezimalstellen und liefern so die beabsichtigte Ausgabe.

Das obige ist der detaillierte Inhalt vonWie kann man in Java doppelte Werte genau 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