搜索
编程论坛
→
开发语言
→
『 VB6论坛 』
→ 关于 VB 的数据运算
标题:
关于 VB 的数据运算
只看楼主
tyl63390445
等 级:
新手上路
帖 子:11
专家分:5
注 册:2014-12-5
结帖率:
100%
楼主
已结贴
√
问题点数:10 回复次数:7
关于 VB 的数据运算
Dim d As Integer
d = n / 2
d = d - 1
与
Dim d As Integer
d = n / 2 -1
n的至为7时算出来的 d不一样 这是 为什么?
2014-12-05 14:40
xzlxzlxzl
来 自:湖北
等 级:
贵宾
威 望:
125
帖 子:1091
专家分:5825
注 册:2014-5-3
第
2
楼
得分:10
dim d as integer
d=4.5
d=d-1=3
d=4.5-1=4
d=4.4
d=d-1=3
d=4.4-1=3
这大概是vb赋值取整和参与算术运算取整的方式不同造成的,实验的结果说明vb在算数运算中是四舍五入取整的。
2014-12-05 15:43
txxb
等 级:
论坛游民
帖 子:104
专家分:59
注 册:2014-10-8
第
3
楼
得分:0
既然有除不尽的数出现,就不要用整形数。
2014-12-05 17:00
zhengang1026
等 级:
侠之大者
威 望:
1
帖 子:136
专家分:409
注 册:2013-2-6
第
4
楼
得分:0
回复 2 楼 xzlxzlxzl
请问版主,为何在将第一句改为d=4.6时,就会得出
d=d-1=4
d=4.6-1=4
既然是四舍五入,d=4.5、 d=4.6为啥不一样?
2014-12-05 17:25
xzlxzlxzl
来 自:湖北
等 级:
贵宾
威 望:
125
帖 子:1091
专家分:5825
注 册:2014-5-3
第
5
楼
得分:0
仔细找了下,答案如下:
vb将浮点数赋值给整数时,会自动执行强制类型转换,类似于执行cint函数,该函数会对小数部分进行四舍五入取整,对刚好是0.5的小数取整的原则是四舍五入到最近的偶数,如cint(0.5)=0,cint(1.5)=2,cint(2.5)=2,cint(3.5)=4,大概就这么回事了,vb对恰好小数部分为0.5的四舍五入就这样干的。
2014-12-05 19:36
smart3000
等 级:
论坛游民
威 望:
1
帖 子:14
专家分:12
注 册:2014-12-5
第
6
楼
得分:0
因为你把d定义为Integer
当n为奇数时,n/2是小数,所以建议你不要把n定义为Integer
我不知道你这段程序是想达到什么目的
2014-12-05 20:37
xzlxzlxzl
来 自:湖北
等 级:
贵宾
威 望:
125
帖 子:1091
专家分:5825
注 册:2014-5-3
第
7
楼
得分:0
回复 6 楼 smart3000
你这算什么回答?他就是要探究定义为integer为什么会产生这种结果。
2014-12-05 21:12
tyl63390445
等 级:
新手上路
帖 子:11
专家分:5
注 册:2014-12-5
第
8
楼
得分:0
回复 4 楼 zhengang1026
原来是这样啊 谢谢! 版主! 我还以为和数学的 四舍五入一样呢!
2014-12-08 16:53
8
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-439608-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.146476 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved