vb.netを使用して小数で基本的な計算を実行したいと思います。
Dim a As Single= 7200.5
Dim b As Single= 7150.3
Dim c As Single= a - b
'Expected result = 50.2
MsgBox(a.ToString + " - " + b.ToString + " = " + c.ToString.Trim)
'Produced result is: 50.2002
Dim single1 As Single
Dim single2 As Single
Dim single3 As Single
single1 = 425000
single2 = 352922.2
single3 = single1 - single2
'Expected result is: 72077.8
MsgBox(single3.ToString)
'Produced result is: 72077.81
このような単純な計算では、どうして結果がそれほど不正確になるのでしょうか。データ型をに変更すると問題は解決しますDecimal
が、Decimal
オブジェクトはより多くのメモリ(16バイト)を消費します。正確な結果で単純な分数計算を実行するために使用できる代替データ型はありますか?