递归火山软件开发平台
标题:
sunye88888:不能用浮点型数据直接和0用>=,<=来比较
[打印本页]
作者:
zhqyong
时间:
2022-8-11 13:57
标题:
sunye88888:不能用浮点型数据直接和0用>=,<=来比较
本帖最后由 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
作者:
sunye88888
时间:
2022-8-11 15:01
抱歉 这个实在看不懂, 请问在火山pc中要怎么写代码呢?
作者:
创世魂
时间:
2022-8-11 16:22
sunye88888 发表于 2022-8-11 15:01
抱歉 这个实在看不懂, 请问在火山pc中要怎么写代码呢?
小数和0对比的时候,把小数强制转换为整数。
欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/)
Powered by Discuz! X3.4