Daniel Witt: Runden von Zahlen

Ich möchte folgende Zahl auf 2 Nachkommastellen runden:

1.4000000000000001

Wie mach ich das in Javascript?
Die Zahl wird in Javascript folgendermaßen ermittelt:
<script>
var s6 = 0.50;
var s7 = 0.60;
var laufzeit = 1;
var sg = new Array(0.30,0.40,0.50,0.50,0.50);

price =s6+s7+sg[laufzeit-1];

</script>
.
.
.
und dann über eine browserspezifische document.write in die Seite geschrieben.

Wie krieg ich es aber hin, dass er mir nur 1.40 darstellt???????

MfG und Vielen Dank,
Daniel

  1. price =s6+s7+sg[laufzeit-1];

    Hi,

    Math.round(price*100)/100

    round() rundet eine Zahl. Um zwei Nachkommastellen zu erhalten multipliziert man erst mit 100 (zwei Nullen anhängen) um nach dem Runden wieder zu dividieren.

    Viele Grüße,
    Jürgen

    1. Und der gerundete Preis muß dann natürlich wieder einer Variablen zugewiesen werden:

      price_neu = Math.round(price*100)/100

      oder den alten Wert überschreiben:

      price = Math.round(price*100)/100

      1. Hallo Jürgen!

        price_neu = Math.round(price*100)/100

        Das ist oft nicht das erwünschte Ergebnis. Z.B.: wirst du so nie 1.40 bekommen sonder 1.4. Folge einfach mal dem Link den Der Dicki hier im Thread gepostet hat.

        Ausserdem ist es natürlich Zufall/Glück/Implementationsabhängig das beim Teilen /100 kein erneuter Fehler in der letzten Stelle auftritt, denn dabei entsteht ja wieder ein unendlicher Binärbruch.

        Gruss,
         Carsten

  2. Hallihallo!

    Mit der Selfsuche findest Du im Forumsarchiv viele Sachen, die Dich weiterbringen könnten:
    http://selfsuche.teamone.de/cgi-bin/such.pl?suchausdruck=Zahlen+runden&case=on&feld=alle&index_1=on&index_2=on&index_3=on&index_4=on&hits=100

    Folge einfach den links, die Dir da geboten werden. An einigen Stellen steht sogar fertiger Javascript- Code...

    Ich hoffe, ich konnte Dir helfen....

    Viele liebe Grüße,
    Der Dicki

  3. Hallo Jürgen

    probiers mal mit

    price = price.toFixed(2);
    document.write(price);

    Steht im Selfhtml unter Number

    Viel Spaß,bye lisa

    Ich möchte folgende Zahl auf 2 Nachkommastellen runden:

    1.4000000000000001

    Wie mach ich das in Javascript?
    Die Zahl wird in Javascript folgendermaßen ermittelt:
    <script>
    var s6 = 0.50;
    var s7 = 0.60;
    var laufzeit = 1;
    var sg = new Array(0.30,0.40,0.50,0.50,0.50);

    price =s6+s7+sg[laufzeit-1];

    </script>
    .
    .
    .
    und dann über eine browserspezifische document.write in die Seite geschrieben.

    Wie krieg ich es aber hin, dass er mir nur 1.40 darstellt???????

    MfG und Vielen Dank,
    Daniel