火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 1378|回复: 3
打印 上一主题 下一主题

[视窗] sunye88888:不能用浮点型数据直接和0用>=,<=来比较

[复制链接]

23

主题

254

帖子

1443

积分

金牌会员

Rank: 6Rank: 6

积分
1443
跳转到指定楼层
楼主
发表于 2022-8-11 13:57:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zhqyong 于 2022-8-11 14:04 编辑

sunye88888遇到问题】判断是否等于0,看可以看到调试输出 是0 但是判断却执行了不等于0
其次 右边大编辑框 Z 数值 那里 我用了数值到格式文本指令保留3位小数  结果输出来个科学计数法?? 本来那个地方应该是0的
只要是整除就会这样 换别的数就没问题
数据格式都是小数
【回答】
由于浮点型数据在计算机中的表示方式与其余数据结构相差巨大,不能用浮点型数据直接和0用>=,<=来比较。

因为float的精度是6位,即精确到小数点后第五位,所以应该使用其精确位0.00001;同理双精度小数其精度为15位,精确到小数点后第14位。

所以float型数据与0的比较程序如下:

#define  ACCU   0.00001

if((x >= -ACCU)&&(x <= ACCU)

此为判断的if语句。

或用浮点的绝对值比较  if(abs(x)<=ACCU)
————————————————
版权声明:本文为CSDN博主「CrazyAsk」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/CrazyAsk/article/details/8232972


回复

使用道具 举报

39

主题

219

帖子

1809

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1809
沙发
发表于 2022-8-11 15:01:23 | 只看该作者
抱歉 这个实在看不懂, 请问在火山pc中要怎么写代码呢?
回复

使用道具 举报

439

主题

1万

帖子

3万

积分

超级版主

Rank: 8Rank: 8

积分
36205
板凳
发表于 2022-8-11 16:22:40 | 只看该作者
sunye88888 发表于 2022-8-11 15:01
抱歉 这个实在看不懂, 请问在火山pc中要怎么写代码呢?

小数和0对比的时候,把小数强制转换为整数。
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

302

主题

1360

帖子

5242

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
5242
QQ
地板
发表于 2022-8-11 18:53:56 | 只看该作者
创世魂 发表于 2022-8-11 16:22
小数和0对比的时候,把小数强制转换为整数。

小数和整数比较,不应当丢掉精度,而应当匹配精度。再比较。
专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-4-24 19:44 , Processed in 0.090335 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表