我正在从http://support.microsoft.com/kb/196652实现AsymArith round方法
现在,我遇到了一个与Int()函数有关的奇怪问题:它应该只去除小数部分,但它也会更改整数部分。
? 131.415 * 100 + 0.5
13142
? Int(131.415 * 100 + 0.5)
13141
有人可以解释为什么Int()函数更改表达式的结果吗?
可能是类型转换引起的即时窗口的魔力(尽管?typename(131.415 * 100 + 0.5)是Double)
?int(cdbl(131.415 * 100 + 0.5 ))
13142
Public Sub test_int()
Dim t As Double
t = 131.415 * 100 + 0.5
Debug.Print t
Debug.Print Int(t)
End Sub
13142
13142
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句