JavaScript の浮動小数点精度の落とし穴と解決策
JavaScript の浮動小数点演算は、予期しない結果を引き起こすことがあります。次のコードを考えてみましょう:
function test() { var x = 0.1 * 0.2; document.write(x); } test();
予想される 0.02 の代わりに、0.020000000000000004 が出力されます。この不一致は、10 進数を 2 進浮動小数点値として表現する際の固有の不正確さに起因します。
エレガントな解決策
丸め関数に頼らずにこの問題に対処するには、次のようにします。いくつかのオプションがあります:
実際的な考慮事項
最初のオプションは最も高い精度を提供しますが、次の場合には精度が高すぎる可能性があります。ほとんどのユースケース。このような場合は、結果を表示するときに単純に小数点以下の桁数を固定して書式設定することを検討してください。
浮動小数点精度の制限は JavaScript に固有のものではないことを理解することが重要です。これらは、2 進浮動小数点演算を使用するすべてのプログラミング言語に適用されます。重要なのは、アプリケーションの精度要件に基づいて適切なソリューションを選択することです。
要約すると、JavaScript で浮動小数点精度に対処するには、必要な精度を慎重に検討し、特定のユースケースに最適なアプローチを選択する必要があります。 .
以上がJavaScript の浮動小数点演算で予期しない結果が生じるのはなぜですか?これを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。