搜索
编程论坛
→
开发语言
→
『 VB6论坛 』
→ int(11/10-0.1)和fix(11/10-0.1)为什么都是等于0?
标题:
int(11/10-0.1)和fix(11/10-0.1)为什么都是等于0?
只看楼主
dsq_0
等 级:
新手上路
帖 子:14
专家分:0
注 册:2008-4-29
结帖率:
100%
楼主
问题点数:0 回复次数:11
int(11/10-0.1)和fix(11/10-0.1)为什么都是等于0?
我有int(11/10-0.1)和fix(11/10-0.1)为什么都是等于0????????
而 dim i as integer
i=11/10-0.1
msgbox int(i)
msgbox fix(i)
它们都是1
以上是在VB6.0中实验????
不明白为什么,请高手来解决一下。。。
2013-03-15 19:24
Susake
来 自:女儿国的隔壁
等 级:
贵宾
威 望:
23
帖 子:2288
专家分:6481
注 册:2012-12-14
第
2
楼
得分:0
不懂VB...
仰望星空...........不忘初心!
2013-03-15 19:26
yz1025
等 级:
蝙蝠侠
威 望:
6
帖 子:473
专家分:915
注 册:2012-10-26
第
3
楼
得分:0
不懂VB...
不要投我
2013-03-15 22:59
风吹过b
等 级:
贵宾
威 望:
364
帖 子:4912
专家分:29900
注 册:2008-10-15
第
4
楼
得分:0
int 取一个浮点数的整数部分。
int 正数,负数,都是得到小数点前面的部分。
fix 取一个不大小这个浮点数的整数。
fix 正数时,与 int 结果相同。
fix 负数时,与 int 相差1 。
例:
int(3.14) = 3
fix(3.14) = 4
int(-3.14) = -3
fix(-3.14) = -4
授人于鱼,不如授人于渔
早已停用QQ了
2013-03-16 09:32
dsq_0
等 级:
新手上路
帖 子:14
专家分:0
注 册:2008-4-29
第
5
楼
得分:0
难道没有人解答吗?
2013-03-16 21:45
dsq_0
等 级:
新手上路
帖 子:14
专家分:0
注 册:2008-4-29
第
6
楼
得分:0
ding
2013-03-17 21:15
zhengang1026
等 级:
侠之大者
威 望:
1
帖 子:136
专家分:409
注 册:2013-2-6
第
7
楼
得分:0
是有点奇怪,
a=Int(11 / 10 - 0.1)
Debug.Prin a
得到1
Debug.Prin Int(11 / 10 - 0.1)
得到0
啥原因?不清楚,请高手讲课。
2013-03-18 08:53
风吹过b
等 级:
贵宾
威 望:
364
帖 子:4912
专家分:29900
注 册:2008-10-15
第
8
楼
得分:0
我二个结果都得到的是 0
==============
这个计算结果,与 二进制转十进制 舍入误差有关,与数据类型有关。
(11 / 10 - 0.1)
因为 0.1 是浮点数,所以整个表达式按浮点进行运算。然后运算结果再进行后面的操作。
结果是 1,但有可能这个 1 在内存里是 0.9999999999999
这个就是二进制转十进制存在的舍入误差,在 excel 里也有时能看到这种的情况。
不光VB6会出现这种情况,在其它语言里,只有不是使用 十进制计算并且使用十进制修正指令进行操作的汇编,并且是整数数据的情况外,均有可能出现。
汇编里,数据的 十进制计算,有几个专门的指令,那个是 定点数计算用的,不一定是整数。如金融数据类型,就是一个定点数,永远只有小数点后4位。
授人于鱼,不如授人于渔
早已停用QQ了
2013-03-18 10:21
dsq_0
等 级:
新手上路
帖 子:14
专家分:0
注 册:2008-4-29
第
9
楼
得分:0
?11 / 10 - 0.1
1
? Int(11 / 10 - 0.1)
0
2013-03-18 18:47
yz1025
等 级:
蝙蝠侠
威 望:
6
帖 子:473
专家分:915
注 册:2012-10-26
第
10
楼
得分:0
要有Int()和Fix()的源码才知道吧~不然只能用猜的~
不知道当初学校教的~关于C代码在编译器里处理成组合语言~
(以前叫这当下的部分档案为中间档~考试的时候算的要死要活的~人工算~)
再Link外部函式成执行档的过程~能否解释~毕竟传说VB是C写的~
不要投我
2013-03-18 20:20
12
1/2页
1
2
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-400875-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.111730 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved