24小时热门版块排行榜    

查看: 1069  |  回复: 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的回帖

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的回帖

玉米糊糊

四舍六入五成双

★ ★ ★
wangjian087(金币+3,VIP+0):谢谢! 3-10 17:39
学无机化学的时候应该学过哈 技术保留法的科学方式
四舍六入五成双是一种精确度的计数保留法.舍入规律是"四舍六入五成双",这里"四"是小于五的意思,"六"是大于五的意思,"五"是舍入位之后的尾数逢五的话看前一位,奇进偶不进,就像1.25,因为2是偶数,所以是1.2。又像1.35,因为3是奇数,所以是1.4,明不明白,这个是数据统计需要的.
  从统计学的角度,"四舍六入五成双"比"四舍五入"要科学,它使舍入后的结果有的变大,有的变小,更平均.而不是像四舍五入那样逢五就入,导致结果偏向大数.
  例如:1.15+1.25+1.35+1.45=5.2,若按四舍五入取一位小数计算
  1.2+1.3+1.4+1.5=5.4
  按"四舍六入五成双"计算,1.2+1.2+1.4+1.4=5.2,舍入后的结果更能反映实际结果
5楼2009-03-09 09:47:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

水木年华8133

金虫 (小有名气)


wangjian087(金币+1,VIP+0):谢谢! 3-15 20:09
1、计算机中整数和小数存储方式不一样,整数补码,小数浮点。
2、式中先乘再取整、整除、除。
3、对于你的问题我也奇怪,没遇过。干吗那样算,不会有精度损失吗?全部变成浮点数结果不是更精确吗。
6楼2009-03-11 20:18:28
已阅   回复此楼   关注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的回帖

jxhl

铁杆木虫 (小有名气)

应该属于有效位数的取法,四舍六入五成双的规则
8楼2009-03-13 01:09:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wangjian087 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见