VB6 round函数问题

时间:2022-07-13 23:16:07
我最近发现round函数并不能准确的四舍五入,
运行round(132.5)
输出的是:  132
再运行1次
输出的是:  133
之后就一直是输出132

为什么会出现这种情况呢??

4 个解决方案

#1


四舍六入五成双

#2


Option Explicit

Private Sub Form_Load()
Debug.Print Round(132.5)
Debug.Print Round(131.5)
End Sub

每次都输出132,没有一次输出133的啊

#3


的确没有楼主所说问题。

#4


当小数部分恰好为 0.5 时,Cint 和 CLng 函数会将它转换为最接近的偶数值。例如,0.5 转换为 0、1.5 转换为 2。Cint 和 CLng 函数不同于 Fix 和 Int 函数,Fix 和 Int 函数会将小数部分截断而不是四舍五入。并且 Fix 和 Int 函数总是返回与传入的数据类型相同的值。

#1


四舍六入五成双

#2


Option Explicit

Private Sub Form_Load()
Debug.Print Round(132.5)
Debug.Print Round(131.5)
End Sub

每次都输出132,没有一次输出133的啊

#3


的确没有楼主所说问题。

#4


当小数部分恰好为 0.5 时,Cint 和 CLng 函数会将它转换为最接近的偶数值。例如,0.5 转换为 0、1.5 转换为 2。Cint 和 CLng 函数不同于 Fix 和 Int 函数,Fix 和 Int 函数会将小数部分截断而不是四舍五入。并且 Fix 和 Int 函数总是返回与传入的数据类型相同的值。