🧮

JavaScriptで小数の計算誤差を解消する方法

2025/02/13に公開

JavaScriptで小数点計算を行う際、計算誤差が発生してしまう問題があります。特に以下のような場合に注意が必要です:

  • 小数点以下の正確な計算が必要なアプリケーション(例:金額計算など)
  • C#のdecimal型のような、10進数で正確に計算できる型がJavaScriptには存在しない

解決策

この問題に対する解決策として、以下の2つの方法があります:

  1. 自作の共通関数を作成する方法

    • 小数値を一度整数に直して計算し、その後元に戻す
    • メンテナンスが必要で、複雑な計算には向かない
  2. bignumber.jsライブラリを使用する方法(推奨)

    • 専用のライブラリを使用することで、正確な小数点計算が可能
    • 広く使われているライブラリで信頼性が高い
    • 実装が簡単で保守性も高い

補足情報

bignumber.jsは金融計算やその他の精度が重要な計算に適しています。以前は独自の関数で対応していましたが、このライブラリの存在を知った後は、こちらを使用することで問題を解決できています。

Discussion