JavaScript hat viele Vorteile als Web -Programmiersprache . Seine eine eklatante Schwäche ist Gleitkomma oder dezimal, Berechnungen. Während Integer-Operationen in JavaScript gelten als zuverlässig, können die Ergebnisse von Fließkomma-Berechnungen manchmal überraschend. Diese Überraschungen sind verantwortlich für vorzeitige Hautalterung und Reizbarkeit in einem großen Prozentsatz der Anfänger -Programmierer. Interessante Ergebnisse
Fehler im Fließkomma- Berechnungen sind nicht unbekannt in anderen Programmiersprachen. Diese in der Regel in großen Zahlen auftreten Wert . JavaScript erzeugt interessante Ergebnisse bei Operationen mit Werten so niedrig wie 0,06 + 0,01 . Die meisten Menschen würden bieten 0,07 als die Lösung dieser Gleichung . JavaScript behebt diese Antwort als 0,06999999999999 . Schließen , aber nicht nah genug für die kommerzielle Anwendung .
Formatierung und Precision
JavaScript bietet zwei Funktionen , toFixed () und toPrecision () , dass die Display- Probleme im Zusammenhang mit zu beseitigen unvorhersehbaren Ergebnissen führen. Die toFixed ()-Funktion ermöglicht es Ihnen, die Anzahl der Ziffern zeigt das Programm nach dem Komma zu bestimmen. Im Fall der Währung , mit dem Argument num.toFixed (2) zeigt nur die ersten beiden Ziffern nach dem Komma mit automatischer Rundung . Die toPrecision ()-Funktion zeigt eine Antwort mit der Gesamtzahl der Stellen in dem Argument , ohne Rücksicht auf ihre Beziehung zu dem Komma angegeben .
Die Ursache
Rundungsfehler eingeführt werden , wenn Dezimalzahlen in binäre Zeichenfolgen konvertiert werden . Dieser Vorgang ist notwendig, da ein Computer nur mit Nullen und Einsen arbeiten. Viele Sprachen überwinden diese Rundungsfehler bei der Verwendung von Datentypen. Durch die Angabe , wie und mit welcher Genauigkeit eine Variable gespeichert ist, reduzieren Sprachen wie C und Java diese Fehler . Bei der Deklaration einer Variablen in JavaScript ist kein Typ angegeben . Dies führt in Zeichen, Strings , Integer-und Float ist mehr oder weniger gleich behandelt werden.
Workaround
Die am häufigsten verwendete Strategie zur Gleitkomma Fehler in JavaScript zu überwinden ist, multiplizieren Sie beide Variablen um 100 vor der Durchführung einer Berechnung mit der Funktion round () , um die Floating-Point- Fehler zu reduzieren und Teilen des Produkts aus dieser Operation um 100 vor dem Drucken die Antwort.