为什么我用round(10.5)得到的是10而不是11?

52694 2003-01-13 05:50:16
为什么我用round(10.5)得到的是10而不是11?
...全文
40 点赞 收藏 13
写回复
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxcc 2003-01-15
format(10.5,"#0")
回复
ccbl 2003-01-15
up
回复
teng 2003-01-15
gz
回复
超级大笨狼 2003-01-14
四舍六入五成双
国际通用的会计学标准
回复
Arcan 2003-01-14
也就是说我们平时也应该四舍六入五成双。
回复
Arcan 2003-01-13
外国人可能平时使用的就是四舍六入五成双,我们用的四舍五入不标准。
回复
redwrite 2003-01-13
原来如此,我以前也遇到过这样的问题
不知道VB里有没有真正的四舍五入函数
回复
libingao 2003-01-13
楼上说的正确。
四舍五入原则是:
小于5的要舍去,大于5的要向上进1,刚好等于5的要凑偶。
例如:
round(10.500000000000000000000...1) 等于 11
round(10.4999999999999999999999...) 等于 10
round(10.5000000000000000000000...) 等于 10

round(11.500000000000000000000...1) 等于 12
round(11.4999999999999999999999...) 等于 11
round(11.5000000000000000000000...) 等于 12
回复
thirdapple 2003-01-13
四舍六入五成双
国际通用的会计学标准
回复
Arcan 2003-01-13
还真没注意过,原来VB是这样规定的。
回复
litsnake1 2003-01-13
round(x.5)是朝偶数取整的
例如:
round(10.5) 有2种取整可能,要么为10,要么为11,因为10是偶数,所以最后结果为10

假如:
round(11.5) 要么为11,要么为12 ,因为12是偶数,所以最后结果为12

不要问为什么,这是规定
回复
minajo21 2003-01-13
有些函数也有这种问题
我也想知道答案
回复
czfeng 2003-01-13
round(X+0.1)比较好
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7453

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告