Heim  >  Artikel  >  Web-Frontend  >  Wie behebe ich unerwartetes Rundungsverhalten mit der toFixed()-Methode in Javascript?

Wie behebe ich unerwartetes Rundungsverhalten mit der toFixed()-Methode in Javascript?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-22 14:41:11554Durchsuche

How to Resolve Unexpected Rounding Behavior with toFixed() Method 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn