ms-access - Int() 函数 MS Access VBA

标签 ms-access vba rounding

我正在实现 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"))

当您自己显式设置舍入时,您将得到预期的结果。

我会引用做这篇文章:

http://support.microsoft.com/kb/214118

关于ms-access - Int() 函数 MS Access VBA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19357737/

相关文章:

excel - 将整个工作表从一个 Excel 实例复制到另一个 Excel 实例

python - 使用 ExceltoCi 将数据加载到 Peoplesoft 数据库中

r - 在过渡期间增加轮值

c++ - 将 double 值舍入为(稍微)较低精度的好方法是什么?

sql - MS Access SQL 按日期计数计算值

sql - 是否可以在 Access 的连接条件中使用子查询?

excel - Application.Wait 破坏了我的代码

圆形但 0.5 应该是地板

ms-access - 在 Access 中查找和替换表/字段名称?

excel - 将表格数据 Access 到 Excel