Round(9 / 2)不是四舍五入吗?
怎么Round(9 / 2)得到4的?我要四舍五入怎么办?
[解决办法]
VB6中文版说这个函数是四舍五入函数,实际上这个函数采用的四舍六入五留双。VB的Round所采用的算法是这样的:
1.25留一位,则1.2=round(1.25)
如果是1.35,则1.4=round(1.35)
奇进偶不进。这样在一大串需要四舍五入的数相加相减相乘时误差小一点。eg:1.25+1.35+1.45+1.55+1.15+1.65=8.4=round(1.25)+round(1.35)+round(……
ROUND函数符合国家和国际标准,该函数是正确的。原先的四舍五入只是一个简化。
[解决办法]
Round(9*1.000000001 / 2)=5 '方法就是乘上一个近似1的数(同时>1),实现四舍五入