3 回答

TA贡献1898条经验 获得超8个赞
round()函数是4舍6入,5看奇偶。
比如 round(1.5,0)=2,round(2.5,0)=2,round(2.5001,0)=3,
这样就是你的要求了
Int(2.5 + 0.5)=3
Int(2.499 + 0.5)=2

TA贡献1848条经验 获得超2个赞
在 Option Strict Off 的情况下,可以使用 CInt 函数将其他数据类型显式转换为 Integer 类型。但是,Cint 并非截去数字的小数部分,而是舍入为最接近的整数。例如:
MyNumber = CInt(99.8) ' Returns 100.
MyNumber = CInt(-99.8) ' Returns -100.
MyNumber = CInt(-99.2) ' Returns -99.
自己模拟常见的四舍五入,需要 import system.math
function sishewuru(byval dblX as double) as integer
if dblx >= truncate(dblX) +0.5 then
return truncate(dblX) + 1
else
return truncate(dblX)
end if
end Function
随便瞎写的,你可能需要修改吧

TA贡献1777条经验 获得超3个赞
在精度允许范围内加上一点点,比如round(2.5+0.00001),结果就是3啦
private function RoundEx(byval dVal as Variant,optional byval lLen as long=0) as double
if isnumeric(dVal) then
if val(dVal)<0 then
RoundEx=round(val(dVal)-0.00000000000001,lLen)
elseif val(dVal)>0 then
RoundEx=round(val(dVal)+0.00000000000001,lLen)
else
RoundEx=0
end if
end if
end function
- 3 回答
- 0 关注
- 173 浏览
添加回答
举报