我正在实现 http://support.microsoft.com/kb/196652 中的 AsymArith round 方法
现在我遇到了 Int() 函数的一个奇怪问题:它应该只删除小数部分,但它也会更改整数部分。
? 131.415 * 100 + 0.5
13142
? Int(131.415 * 100 + 0.5)
13141
有人可以解释一下为什么 Int() 函数会改变表达式的结果吗?
最佳答案
与int函数内部的舍入机制有关。
尝试例如:
print Int(131.415 * 100 + format(0.5, "0.00"))
当您自己显式设置舍入时,您将得到预期的结果。
我会引用做这篇文章:
关于ms-access - Int() 函数 MS Access VBA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19357737/