主题:为什么round(5/2)=2而round(3/2)也等于2呢????
huitian
[专家分:1410] 发布于 2006-04-19 11:07:00
为什么round(5/2)=2而round(3/2)也等于2呢????
这个round函数是怎样的一个算法啊.....
回复列表 (共4个回复)
沙发
aizaixiiii [专家分:2130] 发布于 2006-04-19 12:01:00
round(x)
如果X正好是两个整数中间的一半的数,就返回一个偶数。
板凳
dongcijie [专家分:20] 发布于 2006-04-29 10:24:00
四舍五入啊
3 楼
aiyuheyan [专家分:0] 发布于 2006-04-29 11:16:00
round(x)
如果X正好是两个整数中间的一半的数,就返回一个偶数。
是这样的,多试两个就知道了!
4 楼
cilix [专家分:1030] 发布于 2006-04-29 12:23:00
这是因为计算机表示的浮点数的临界值问题,浮点数5.0在机内用4.99999999...(N个9,根据机器字长决定), 所以/2后得到的是2.499999999(也是N个9),而round是从小数点后一位开始四舍五入,所以就等于2了,要想得到正确值,在5上加个临界值,看你要表示的小数位示,如加上0.00001则可计算四位小数的准确值
我来回复