ホームページ >ウェブフロントエンド >jsチュートリアル >toFixed(2) が特定の 10 進数値に対して誤って丸められるのはなぜですか?
JavaScript toFixed 丸めの不一致
toFixed(2) は特定の小数値に対して切り上げを行わず、提供された例では 859.39 ではなく 859.38 を表示します。 。この不一致は、toFixed() メソッドのブラウザ実装のばらつきに起因する可能性があります。
この問題を回避し、ブラウザ間で一貫した丸めを確保するには、blg が推奨する toFixed10() メソッドの利用を検討してください。このメソッドは、拡張精度の値であっても正確な丸めを提供します。
toFixed10() を組み込んだ更新されたコード スニペットは次のとおりです:
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)));
以上がtoFixed(2) が特定の 10 進数値に対して誤って丸められるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。