Genauigkeit von Gleitkommazahlen in JavaScript
Beim Umgang mit Gleitkommazahlen in JavaScript können Präzisionsprobleme auftreten. Dies wird im folgenden Beispiel deutlich:
function test() { var x = 0.1 * 0.2; document.write(x); } test();
Dieser Code sollte 0,02 ausgeben, aber stattdessen gibt er 0,020000000000000004 aus. Diese Diskrepanz ist auf Fehler bei der Genauigkeit der Gleitkomma-Multiplikation zurückzuführen.
Um dieses Problem zu beheben, beachten Sie die folgenden Ratschläge aus dem Gleitkomma-Handbuch:
1. Verwenden Sie einen speziellen Dezimaldatentyp:
Wenn präzise Dezimalberechnungen von entscheidender Bedeutung sind, insbesondere in Finanzanwendungen, sollten Sie die Verwendung eines bestimmten Dezimaldatentyps in Betracht ziehen.
2. Format für die Anzeige:
Wenn das Problem lediglich auf unerwünschte Dezimalstellen zurückzuführen ist, formatieren Sie Ihr Ergebnis und runden Sie es während der Anzeige auf die gewünschte Anzahl von Dezimalstellen.
3. Mit Ganzzahlen arbeiten:
In Fällen, in denen kein Dezimaldatentyp verfügbar ist, arbeiten Sie stattdessen mit Ganzzahlen. Führen Sie beispielsweise Geldberechnungen in Cent statt in Dollar durch. Dieser Ansatz ist jedoch arbeitsintensiver und hat seine Nachteile.
4. Verwenden Sie JavaScript-Bibliotheken:
Wenn das Problem weiterhin besteht, sollten Sie die Verwendung von JavaScript-Bibliotheken wie BigDecimal für JavaScript oder DecimalJS in Betracht ziehen, die effiziente Lösungen für präzise Dezimalberechnungen und die fehlerfreie Verarbeitung von Gleitkommazahlen bieten.
Das obige ist der detaillierte Inhalt vonWarum erzeugt JavaScript ungenaue Gleitkomma-Ergebnisse und wie kann ich diese beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!