24小时热门版块排行榜    

查看: 1070  |  回复: 7
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

wangjian087

铜虫 (小有名气)

[交流] 关于vb中整除的规律

vb中整除的规律是什么
是四舍五入      还是      小于五舍掉等于五成双大于五进位
我在vb中运行下面等式:
如:((20.005*100)\1)/100=20.00
((20.015*100)\1)/100=20.02
((20.025*100)\1)/100=20.02
((20.035*100)\1)/100=20.04
((20.045*100)\1)/100=20.05
((20.055*100)\1)/100=20.05
((20.065*100)\1)/100=20.07
((20.075*100)\1)/100=20.08
((20.085*100)\1)/100=20.09
((20.095*100)\1)/100=20.09
((20.105*100)\1)/100=20.11
((20.115*100)\1)/100=20.11
((20.125*100)\1)/100=20.12
我想不明白,希望高手给解释一下。谢谢!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

i10u

木虫 (小有名气)

问题在于:做整除运算以前,VB会把小数先取整,取整时遵循规律:如果整数部分为偶数,并且小数部分刚好是0.5,则系统对其进行取整后的数等于整数部分,其他情况大于0.5的就进位,小于0.5的就直接把小数去掉。

你可以做这样的例题:18\3.5=? 15\2.5=?
按照我们的考虑,18里面至少有5个3.5,而15里面刚好是6个2.5,但是VB计算的又是多少呢?
所以,要保证计算结果符合我们的预期,必须清楚VB的整除规律。多乘几个十倍,确保都是被除数和除数都是整数,整除运算就少偏差了。

[ Last edited by i10u on 2009-3-12 at 00:18 ]
7楼2009-03-12 00:00:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

kaiyuxing

金虫 (正式写手)

小木虫之华中地区理事长

★ ★ ★
wangjian087(金币+3,VIP+0):谢谢! 3-8 11:34
取整规律:
1. 若整数部分为偶数:小数部分是0.5,则系统对其进行取整后的数等于整数部分, 小数部分大于0.5的就进位,小于0.5的就直接把小数去掉;
2. 若整数部分为奇数,四舍五入。

你所给例子中的整数和小数部分是指各数乘以100后的结果的整数部分和小数部分。

个人见解,仅供参考!

[ Last edited by kaiyuxing on 2009-3-8 at 09:01 ]
锻炼身体,刻苦钻研!
2楼2009-03-07 19:44:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

AG_Sempron

铁杆木虫 (正式写手)

★ ★ ★
wangjian087(金币+3,VIP+0):可我那结果为什么有的对,有的不对? 3-9 09:31
我记得是 四舍六入五凑偶 吧~
3楼2009-03-07 20:10:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangjian087

铜虫 (小有名气)

2楼的朋友!是剩以100后的结果的整数与小数!可结果有的对,有的不对!不知道为什么?
4楼2009-03-09 09:30:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见