|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 VB6论坛 』
→ int(11/10-0.1)和fix(11/10-0.1)为什么都是等于0?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
809
人关注过本帖
标题:
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
帖 子:491
专家分:919
注 册:2012-10-26
第
3
楼
收藏
得分:0
不懂VB...
图片附件: 游客没有浏览图片的权限,请
登录
或
注册
不要投我
2013-03-15 22:59
举报帖子
使用道具
赠送鲜花
风吹过b
等 级:
贵宾
威 望:
364
帖 子:4947
专家分:30084
注 册: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
帖 子:4947
专家分:30084
注 册: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
帖 子:491
专家分:919
注 册:2012-10-26
第
10
楼
收藏
得分:0
要有Int()和Fix()的源码才知道吧~不然只能用猜的~
不知道当初学校教的~关于C代码在编译器里处理成组合语言~
(以前叫这当下的部分档案为中间档~考试的时候算的要死要活的~人工算~)
再Link外部函式成执行档的过程~能否解释~毕竟传说VB是C写的~
不要投我
2013-03-18 20:20
举报帖子
使用道具
赠送鲜花
12
1/2页
1
2
快速回复:
int(11/10-0.1)和fix(11/10-0.1)为什么都是等于0?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.018212 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved