vbscript减去十进制值

vbscript减去十进制值,vbscript,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 甚至 但是 为什么它不能正确舍入?如何解决这个问题?计算机中的浮点数只不过是数学(现实生活?)数的近似值 >> WScript.Echo (4.33 - 4.28) >> 4,99999999999998E

vbscript数学函数:FormatNumber

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

但是


为什么它不能正确舍入?如何解决这个问题?

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

>> 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
关于数字是如何以及为什么被表示和操纵的,有很多解释;只要使用维基百科或谷歌就可以开始了


请参阅(使用xkcd完成!)。

问题到底是什么?这个问题很难理解。@CodyGray我想要一个十进制数的共振峰,这样十进制数后面就有一个数字了。但是结果是不同的,正如你在我的问题中看到的,虽然“4.33-4.28”是“0.05”,但这与你使用浮点数的事实有关。这是我能很快找到的最好的资源。一定是能更好地解释问题的。尝试以下操作查看问题:
Response.Write 4.33-4.28
FormatNumber(4.34 - 4.28,1,-2,-2,-2) //answer 0.1
>> 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