602 Stimmen

Runden eines Double auf 2 Dezimalstellen

Wenn der Wert 200.3456 sollte sie wie folgt formatiert werden 200.34 . Wenn es 200 dann sollte es sein 200.00 .

37voto

Abdullah AlHazmy Punkte 1275
double value= 200.3456;
DecimalFormat df = new DecimalFormat("0.00");      
System.out.println(df.format(value));

27voto

daoway Punkte 739

Wenn Sie wirklich dasselbe Double wollen, aber auf die gewünschte Weise gerundet, können Sie BigDecimal verwenden, zum Beispiel

new BigDecimal(myValue).setScale(2, RoundingMode.HALF_UP).doubleValue();

22voto

user1692711 Punkte 249
double d = 28786.079999999998;
String str = String.format("%1.2f", d);
d = Double.valueOf(str);

12voto

Das Aufrunden eines Doppelgängers ist in der Regel nicht das, was man will. Verwenden Sie stattdessen String.format() um sie im gewünschten Format darzustellen.

12voto

Srujan Kumar Gulla Punkte 5572

Für zwei Rundungsziffern. Sehr einfach und Sie sind im Grunde die Aktualisierung der Variable statt nur Anzeige Zwecke, die DecimalFormat tut.

x = Math.floor(x * 100) / 100;

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X