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!