カンパ〜イ!←最初の1杯目、なに頼む?

Visual Basic6.0(SP6)で、1.0-(0.1*10.0)の計算結果が-5.55111512312578E-17 になってしまいます。これはイミディエイトウィンドウで、 ?1.0-(0.1*10.0) としても同じ結果になります。
VB6はこういうものなのでしょうか。

A 回答 (4件)

visual basic 6.0では、確かめていませんが、


制限がありますが、
どうしても、0にしたいなら、十進計算をすれば、
0になります。

Module Module1

Sub Main()

Debug.WriteLine(CDec(1) - CDec(0.1) * CDec(10))


End Sub

End Module

結果、0.0

visual basic 6でも、調べると、
10計算ができる様なので、
どうしても、0にしたいなら、
このような方法もあるみたいです。
    • good
    • 0

VisualBasicに限らず、どのプログラム言語でも浮動小数点演算とはそういうものです。

    • good
    • 0

>10計算ができる様なので



十進計算の誤記です。
    • good
    • 0

そういうものです。


0.1 が、2進数で無限小数になるため丸め誤差があります。
    • good
    • 0

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


おすすめ情報