JavaScriptの小数を使った計算における誤差について
JavaScriptの計算誤差
以前の記事でも書いたことなのですが、JavaScriptの小数計算がほぼすべてのブラウザで、おかしなことになることを報告しました。
JavaScriptの0.1 - 0.102の計算が奇妙
仕様の上では、必ず誤差が発生する
それで、こんな記事を見つけました。松田氏によれば、どうやら、JavaScriptの仕様どおりらしいのです。
減算した時点でdiffの値が "0.09999999999999432" とズレてしまっています。
これはJavaScriptがIEEE 754という規格に従って実装されているためです。
つまり、この計算結果はJavaScriptの仕様なのでJavaScript的には正しい値であり、避けようがありません。
松田惇氏の記事「JavaScriptによる小数計算の誤差を無くす」より引用
対策
誤差を無視するべきなのか、どうすればいいのか、対応を考えています。
C言語では、intなど型を指定することで避けられたのですが、JavaScriptはそんなことができませんし、難しいところです。