Runden?

Hallo Ihr!

Ich möchte gerne auf 2 Nachkommastellen runden, mit folgender Funktion wird aber auf keine Nachkommastelle gerundet.

Math.round(temp[2])

Könnt Ihr mir sagen, was ich ändern muß? Meine Java-Buch hat mich leider im Stich gelassen…

Danke!
Verregnete Grüße,
Lena

Ich möchte gerne auf 2 Nachkommastellen runden, mit folgender
Funktion wird aber auf keine Nachkommastelle gerundet.

Math.round(temp[2])

Hallo Lena,

Math.round() gibt immer einen ganzzahligen Wert zurück. Wenn man auf eine bestimmte Nachkommastelle runden will, muss man die zu rundende Zahl zuvor entsprechend multiplizieren und anschliessend wieder teilen:

int stellen = 2;
double zahl = 1.1234567;
double factor = Math.pow(10, stellen);

// Zahl mit 100 multiplizieren, dann runden (=112) anschliessend wieder durch 100 teilen

double gerundeteZahl = Math.round(zahl * factor) / factor;

mfg
Stefan

Dankeschön!!! o.T.

besser…
double d = 1,23456;
DecimalFormat df = new DecimalFormat(„0.00“);
String zahl = df.format(d);

Müsste auch funktionieren…

Bernd

Vielleicht gibt es dafür eine spezielle Funktion, die kenne ich allerdings im moment auch nicht.
Aber vielleicht kannst du das gewünschte Ergebnis mit einem kleinen Trick erreichen: mulitpliziere zuerst die Zahl mit 100, runde dann, und teile dann wieder durch 100.
hoffe das hilft dir!

gruß
Hendrik

hatte vorhin übersehen dass es schon reaktionen gab. naja, jedenfalls ist dein problem gelöst, das ist ja das wichtigste.