Runden?

Von: , Frage gestellt am Do, 28. Jun 2001

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

5 Antworten zu dieser Frage

  1. Antwort von nach 2 Stunden 0 hilfreich
    Re: Runden?

    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

  2. Antwort von nach 17 Stunden 0 hilfreich
    besser...

    double d = 1,23456;
    DecimalFormat df = new DecimalFormat("0.00");
    String zahl = df.format(d);

    Müsste auch funktionieren...

    Bernd

  3. Antwort von nach 9 Tagen 0 hilfreich
    Re: Runden?

    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

    • Antwort von nach 9 Tagen 0 hilfreich
      Re^2: Runden?

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

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!