JavaScript での浮動小数点数の精度
JavaScript で浮動小数点数を扱う場合、精度の問題が発生する可能性があります。これは次の例で明らかです:
function test() { var x = 0.1 * 0.2; document.write(x); } test();
このコードは 0.02 を出力するはずですが、代わりに 0.020000000000000004 が出力されます。この不一致は、浮動小数点乗算の精度のエラーが原因で発生します。
この問題を解決するには、浮動小数点ガイドの次のアドバイスを考慮してください。
1.特殊な 10 進数データ型を使用します:
特に金融アプリケーションで正確な 10 進数の計算が重要な場合は、特定の 10 進数データ型の利用を検討してください。
2.表示の形式:
問題が単純に不要な小数点にある場合は、結果を形式設定し、表示中に希望の小数点以下の桁数に丸めます。
3.整数の操作:
10 進データ型が使用できない場合は、代わりに整数を操作します。たとえば、金銭計算をドルではなくセントで実行します。ただし、このアプローチはより労働集約的であり、欠点もあります。
4. JavaScript ライブラリを使用します:
問題が解決しない場合は、JavaScript ライブラリの BigDecimal や DecimalJS などの JavaScript ライブラリの使用を検討してください。これらのライブラリは、正確な 10 進数の計算と浮動小数点数のエラーのない処理のための効率的なソリューションを提供します。
以上がJavaScript が不正確な浮動小数点の結果を生成するのはなぜですか? それらを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。