Runden auf zwei Dezimalstellen nur bei Bedarf in JavaScript
Bei der Arbeit mit Gleitkommazahlen in JavaScript ist es oft notwendig, diese zu runden auf eine bestimmte Anzahl von Dezimalstellen genau. Allerdings ist es auch wichtig, unnötiges Runden zu vermeiden, das zu Rundungsfehlern führen kann.
Problemstellung:
Wie können wir eine Zahl auf höchstens zwei Dezimalstellen runden, aber nur wenn es notwendig ist? Wenn wir zum Beispiel die folgenden Eingabezahlen haben:
Wir wollen Folgendes Ausgabe:
Lösung:
Verwenden von Math.round()
The Die einfachste Lösung besteht darin, die Zahl mit der Funktion Math.round() zu runden:
Math.round(num * 100) / 100
Dadurch wird die Zahl mit 100 multipliziert, um sie effektiv auf zwei Dezimalstellen zu runden, und dann durch 100 dividiert, um das Original wiederherzustellen Wert.
Gewährleistung einer genauen Rundung
Diese Methode liefert jedoch möglicherweise nicht immer Ergebnisse genaue Ergebnisse. Beispielsweise würde die Zahl 1,005 mit dem oben beschriebenen Ansatz auf 1,00 gerundet. Um eine genauere Rundung zu gewährleisten, können wir die Konstante Number.EPSILON verwenden:
Math.round((num + Number.EPSILON) * 100) / 100
Dadurch wird der Zahl vor dem Runden ein kleiner Betrag hinzugefügt, wodurch Rundungsfehler vermieden werden.
Das obige ist der detaillierte Inhalt vonWie kann ich JavaScript-Zahlen nur bei Bedarf auf zwei Dezimalstellen runden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!