Fehler beim Rechnen mit JavaScript
Andi
- javascript
Ich habe ein kleines Problem beim Rechnen mit JavaScript. Dabei ist die Rechnung eine ganz einfache Sache. Einfach nur 3 mal 0,2 also 0,6.
var ergebnis = (3 * 0.2);alert(ergebnis);
Man sollte eigentlich erwarten, dass auch der Browser nun 0,6 als Ergebnis liefert, ich erhalte allerdings 0.6000000000000001.
var ergebnis = (6 * 0.2);alert(ergebnis);
Ergebnis ist hier 1.2000000000000002.
Ein Workaround habe ich dafür bereits gefunden.
var ergebnis = (6 * 0.2);alert(ergebnis.toFixed(1));
Meine Frage ist nun, woran das liegt. Am Browser schein es nicht zu liegen, denn ich habe es mit Firefox, Opera und IE ausprobiert und erhalte überall das selbe merkwürdige Ergebnis.
Meine Vermutung ist eventuell das es am Prozessor liegen könnte. Ich arbeite mit einem AMD 64 Bit Prozessor unter WinXP 32Bit. Vielleicht kennt ja jemand das Problem und kann meine Frage beantworten.
Danke.
Glück auf Andi,
ich habe keinen Plan von JavaScript, aber ich glaube in der hiesigen FAQ wird auf das von dir geschilderte Problem eingegangen: http://forum.de.selfhtml.org/hilfe/faq.htm#fliesskommarechnung
Freundliche Grüße
Zwerg Alex
Vielen Dank Zwerg Alex
Ich hatte zwar die Suche benutzt, doch darauf war ich nicht gestossen. Wahrscheinlich nicht das Richtige gesucht. Ich werde mir diese Artikel dann mal durchlesen. Scheint als würde es ein Problem mit dem Binärsystem sein. Kein Wunder, bei den ganzen Nullen und Einsen würd ich auch durcheinander kommen.
Nochmal Danke
Andi
Hallo,
Ich hatte zwar die Suche benutzt, doch darauf war ich nicht gestossen. Wahrscheinlich nicht das Richtige gesucht. Ich werde mir diese Artikel dann mal durchlesen. Scheint als würde es ein Problem mit dem Binärsystem sein. Kein Wunder, bei den ganzen Nullen und Einsen würd ich auch durcheinander kommen.
Es gibt kein Problem mit der Binärdarstellung. Ein Computer kann nun mal nicht unendlich viele Zahlen speichern. Das ist das ganze "Problem".
Markus