JavaScript toFixed が正確に丸められない
JavaScript では、toFixed() メソッドを使用して数値を文字列にフォーマットします。ただし、このメソッドを使用すると、特に数値を正しく切り上げられない場合など、予期しない丸め動作が発生することがあります。
この丸めの不一致の背後にある理由は、JavaScript で使用される基礎的な浮動小数点演算にあります。浮動小数点数は、特に非常に小さい値または非常に大きい値を扱う場合に精度エラーが発生することがあります。
この問題に対処するには、次の回避策を検討してください。
提供されているソリューションでは、toFixed10() メソッドの使用を提案しています。これは、より正確な丸めを保証する、元の toFixed() メソッドの修正バージョンです。このメソッドは数値を小数点以下 10 桁に四捨五入します。これは、ほとんどの実用的なアプリケーションにとって十分な精度です。
このソリューションには、Math.round() と Math.pow を使用して同様の丸めを実行するカスタム toFixed() 関数も含まれています。 () メソッド。この関数を使用すると、希望の精度を指定して、ブラウザ間で一貫した結果を保証できます。
実装
変更された toFixed() メソッドまたはカスタム関数を Javascript に組み込むことにより、コードを使用すると、丸めの問題を効果的に解決し、正確な数値計算を実現できます。
function toFixed( num, precision ) { return (+(Math.round(+(num + 'e' + precision)) + 'e' + -precision)).toFixed(precision); } // Usage: var number = 859.385; console.log(toFixed(number, 2)); // Output: "859.39"
結論
JavaScript の toFixed() メソッドの制限を理解し、前述の回避策により、プログラマーは丸めの不正確さを克服し、アプリケーションで信頼性の高い数値計算を保証できます。
以上がJavascript の toFixed() メソッドが正確に丸められないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。