JavaScriptの小数点計算は正確ではないです。(BigNumber.jsを使いましょう。)

JavaScirptを使っていて、小数点の計算で誤差が出る問題に遭遇しました。

Javaなど、どのプログラミング言語でも同じですが、普通に計算していたら、誤差が出ます。

自力で対応するのはとても困難なので、ライブラリを使いましょう。

JavaScriptの場合は、いくつかライブラリがあるようですが、私はBigNumber.jsというライブラリを選択しました。

まあ、下記のサイトを参考にさせていただいたのですが……。

https://qiita.com/daikw/items/663bc0b5a4c025694974

使い方は、下記を参考にしました。

https://qiita.com/niharu/items/52ee466c37c701f9109b

この使い方のままだと、型がBigNumber型のままで使いにくいことがあるので、

a = BigNumber(0.1).plus(0.2).toPrecision();

のように、toPrecisionを使うとよいようです。

あと、HTML上で使うため、CDNを使いたいときは、GitHub

https://github.com/MikeMcl/bignumber.js/

にあるように、下記用にインポートしましょう。

<script src='https://cdn.jsdelivr.net/npm/bignumber.js@9.1.0/bignumber.min.js'></script>

以上です。

また、お会いしましょう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


reCAPTCHAの認証期間が終了しました。ページを再読み込みしてください。