Martin aus Wien: Javascript kann nicht rechnen?

<script language="JavaScript" type="text/JavaScript">
 var quadrat = 3.1*3.1;
 alert(quadrat);
</script>

quadrat = 9.610000000000001

3.2*3.2 = 10.240000000000002
3.3*3.3 = 10.889999999999998
3.4*3.4 = 11.559999999999998
3.7*3.7 = 13.690000000000001
3.9*3.9 = 15.209999999999999

usw.

Wie geht man damit um?

Gruß und Dank

Martin

  1. Hallo Martin,

    nein, das ist _kein_ Problem der Programmiersprache Javascript.
    Das ist ein Problem der Zahldarstellung, siehe z.B. im Archiv.

    3.2*3.2 = 10.240000000000002
    3.9*3.9 = 15.209999999999999

    Ich weiß, dass es noch jede Menge weitere Beiträge zu diesem Thema gibt.

    Wie geht man damit um?

    Ganz normal. Indem man damit rechnet, das diese Ungenauigkeiten auftreten :-)
    Lies Dir den Wikipedia-Artikel zu Gleitkommazahlen durch.

    Freundliche Grüße

    Vinzenz

  2. hallo,

    <script language="JavaScript" type="text/JavaScript">
    var quadrat = 3.1*3.1;
    alert(quadrat);
    </script>
    Wie geht man damit um?

    Was willst du denn damit erreichen? Javascript kann übrigens recht gut rechnen, die Erläuterungen dazu findest du in SELFHTML.

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
  3. Hallo Martin,

    3.2*3.2 = 10.240000000000002

    -> 10,24

    3.9*3.9 = 15.209999999999999

    -> 15,21

    Wie geht man damit um?

    Tja wie? Schon blöd, ich hätte es nicht gedacht!
    Aber wie immer kommt auf den Zusammenhang an. Du könntest es ja mal mit dem "kaufmännischnen" Runden probieren...
    Ich weiß, das haut einen auch nicht vom Hocker!

    solong
    irato