小数点の誤差について
VBA(EXCELやACCESSなど)で小数点を扱う際なのですが、金額などを計算するので、誤差がでないようにしたいです。
通貨型やDecimal型を使うようにしています、通貨型は小数4桁まででしたら大丈夫、とよく聞きますが、例えば0.1などは
10進数では小数1桁ですが、2進数では「0.10001」などのように近似値で扱っている、と本にあります(ネットでは0.000110011001100110011...などと書かれている?)。
これから判断すると、小数4桁以上の桁があるので、通貨型で0.1を扱っても誤差がでてしまうのではないでしょうか?
実験してみました。
Dim var As Currency
Dim count As Long
For count = 1 To 1000000
var = var + 0.1
Next
MsgBox var
varは100000と正確な数値がでます。
これはどのように考えたらよいのでしょうか?
10進数で小数4桁以下なら、currency型を使えば電卓のように?正確な計算ができると考えてよろしいのでしょうか?
よろしくお願いします。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/28 12:48