Heim > Artikel > Web-Frontend > Wie behebe ich unerwartetes Rundungsverhalten mit der toFixed()-Methode in Javascript?
toFixed rundet in Javascript nicht auf
Bei Verwendung der toFixed-Methode in Javascript zum Runden von Zahlen können Benutzer auf unerwartete Ergebnisse stoßen, bei denen Dezimalstellen vorhanden sind nicht wie erwartet aufgerundet. Insbesondere werden Zahlen wie 859,385 möglicherweise nur als 859,38 statt der erwarteten 859,39 angezeigt.
Bestimmte Browser handhaben Rundungsberechnungen anders, was zu Diskrepanzen beim Vergleich von Javascript-Berechnungen mit denen in PHP führt. Um dieses Problem anzugehen, wurde eine robuste Lösung entwickelt: die toFixed10()-Methode von Mozilla.
Diese Methode sorgt für konsistent genaues Rundungsverhalten in allen Browsern. Hier ist ein praktischer Einzeiler, der toFixed10() nutzt:
<code class="javascript">function toFixed( num, precision ) { return (+(Math.round(+(num + 'e' + precision)) + 'e' + -precision)).toFixed(precision); }</code>
Mit dieser Funktion können Sie sicherstellen, dass Rundungsvorgänge in Javascript nahtlos mit denen in PHP übereinstimmen, unabhängig von der Browserumgebung.
Das obige ist der detaillierte Inhalt vonWie behebe ich unerwartetes Rundungsverhalten mit der toFixed()-Methode in Javascript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!