Heim > Web-Frontend > js-Tutorial > Hauptteil

Warum führt toFixed(2) bei bestimmten Dezimalwerten eine falsche Rundung durch?

Patricia Arquette
Freigeben: 2024-10-22 14:40:02
Original
501 Leute haben es durchsucht

Why is toFixed(2) Rounding Incorrectly for Certain Decimal Values?

Javascript toFixed-Rundungsdiskrepanzen

toFixed(2) rundet für bestimmte Dezimalwerte nicht auf und zeigt im bereitgestellten Beispiel 859,38 statt 859,39 an . Diese Diskrepanz kann auf Variationen in den Browser-Implementierungen der toFixed()-Methode zurückgeführt werden.

Um dieses Problem zu umgehen und eine konsistente Rundung über alle Browser hinweg sicherzustellen, sollten Sie die Verwendung der von blg empfohlenen toFixed10()-Methode in Betracht ziehen. Diese Methode ermöglicht eine genaue Rundung auch für Werte mit erweiterter Genauigkeit.

Hier ist ein aktualisierter Codeausschnitt, der toFixed10() enthält:

function toFixed(num, precision) {
    return (+(Math.round(+(num + 'e' + precision)) + 'e' + -precision)).toFixed(precision);
}
...
$('#lblTotalSprice').text('$' + addCommas(toFixed(currSprice, 2)));
$('#lblTotalPrice').text('$' + addCommas(toFixed(currPrice, 2)));
$('#lblTotalDiscount').text('$' + addCommas(toFixed(currDiscount, 2)));
$('#lblTotalDeposit').text('$' + addCommas(toFixed(currDeposit, 2)));
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum führt toFixed(2) bei bestimmten Dezimalwerten eine falsche Rundung durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage