vbscript减去十进制值

时间:2012-05-18 11:01:19

标签: vbscript

vbscript数学函数:FormatNumber

FormatNumber(4.33 - 4.28, 1, -2, -2, -2) //answer 0.0
FormatNumber(0.05, 1, -2, -2, -2)        //answer 0.1

甚至

FormatNumber(cdbl(4.33) - cdbl(4.28), 1, -2, -2, -2) //answer 0.0

FormatNumber(4.34 - 4.28,1,-2,-2,-2) //answer 0.1

为什么它没有正确舍入?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

计算机中的浮点数只是数学(现实生活?)数的近似值。

>> WScript.Echo (4.33 - 4.28)
>>
4,99999999999998E-02
>> WScript.Echo 0.5
>>
0,5
>> WScript.Echo CStr(((4.33 - 4.28) = 0.05))
>>
False

关于如何以及为什么表示和操纵数字,有很多解释;只需使用维基百科或谷歌即可开始使用。

请参阅one example here(完整版xkcd!)。