Ungenauigkeiten bei Berechnungen in JavaScript
Dezimalzahlen werden in Computern in einer Form gespeichert, dass sie oft ungenau dargestellt werden können. In diesem Fall könnte Sie eine Überraschung erwarten, wenn eine banale Operation ein seltsames Ergebnis liefert. Beispiel:
let a = 0.1 + 0.2;
alert(a); // gibt 0.30000000000000004 aus
Um dieses Verhalten zu bekämpfen, kann man
die spezielle Methode toFixed anwenden,
die eine Rundung auf die angegebene Anzahl
Nachkommastellen durchführt. Lassen Sie uns unser
Ergebnis runden:
let a = 0.1 + 0.2;
alert(a.toFixed(2)); // gibt '0.30' aus
Die Methode toFixed liefert das Ergebnis in Form
eines Strings. Man kann ihr Ergebnis
in eine Zahl umwandeln:
let a = 0.1 + 0.2;
alert(+a.toFixed(2)); // gibt 0.3 aus
Prüfen Sie, was das Ergebnis der folgenden Operation sein wird:
alert(0.1 * 0.2);
Prüfen Sie, was das Ergebnis der folgenden Operation sein wird:
alert(0.3 - 0.1);