プロが教えるわが家の防犯対策術!

恐ろしく基本的なこと聞きます。

Public Class himajin100000

Shared Sub Main

Dim foo As Double = 0.5 '2進数で表現できる
Dim bar As Double = 0.1 '割り切れないから誤差が出る
System.Diagnostics.Trace.WriteLine((foo - bar).ToString) '0.4
'・・・あれ?浮動小数点数の誤差どこ行った?

End Sub

End Class

A 回答 (1件)

ToStringしたときに丸められたってことはないですかね?


VBでできるかわかりませんけど、減算の結果のビットパターンを
見れば何かわかるかもしれません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!