Ich mache eine Berechnung in Java-Skript, aber ich bin ein Problem aufgrund der Genauigkeit in Dezimalzahlen. Ich kann nicht die genaue Berechnung posten, aber das ist, was ich tue, welcheJavascript unerwartetes Ergebnis
zu einem unerwarteten Ergebnis führt, wenn ich schreibe: alert(100.01-36.01);
// Ergebnis ist 64
Aber wenn ich schreibe: alert(100.01-37.01);
// führen ist 63.00000000000001
und es geht so weiter für 38.01 .... so weiter. Kann mir bitte helfen, warum das so ein unerwartetes Verhalten zeigt. Ich stecke in einer Rechnung fest.
Vielen Dank im Voraus.
Maschinen haben keine unendliche Genauigkeit, daher muss man immer vorsichtig sein, wenn man Fließkommawerte vergleicht, 64 ist eine spezielle Zahl für eine Maschine, es ist eine Potenz von 2, also kann es es ziemlich gut darstellen. –
das könnte Ihnen helfen http://stackoverflow.com/questions/588004/is-javascripts-math-broken –
Dies wurde mindestens eine Million Mal auf SO gebeten, bitte verwenden Sie die Suche vor dem Posten einer Frage. – Niko