博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
判断两个(float)变量x,z是否相等 以及和0值比较方法
阅读量:4286 次
发布时间:2019-05-27

本文共 421 字,大约阅读时间需要 1 分钟。

 浮点数的表示是不精确的,不能直接比较两个数是否完全相等,一般都是在允许的某个范围内认为像个浮点数相等,如有两个浮点数a,b,允许的误差范 围为1e-6,则abs(a-b)<=1e-6,即可认为a和b相等。还有一种方法就是扩大再取整,比如a=5.23,b=5.23,直接比较 a==b一般为false,但是a和b都扩大一百倍,然后强制转换为int类型,再用==比较就可以了
float型变量和“零值”比较的方法:
const float EPSINON = 0.000001;
if ((x >= - EPSINON) && (x <= EPSINON))
浮点型变量并不精确,其中EPSINON是允许的误差(即精度),所以不可将float变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”形式。如果写成if (x == 0.0),则是错误的。
因为1.0在计算机中可能存为0.999999或1.00001等,很难恰好是1.0

转载地址:http://xtxgi.baihongyu.com/

你可能感兴趣的文章
iOS. NSCache的缓存
查看>>
iOS之属性引用self.xx与_xx的区别
查看>>
iOS 项目的基本配置bundleId/版本命名/....
查看>>
iOS之CoreImage图像处理框架
查看>>
iOS tableview中cell设置的注意事项
查看>>
iOS之文本处框架CoreText(C语言的框架)
查看>>
iOS之文本处理框架TextKit介绍/NSMutableString
查看>>
iOS. Instruments的使用
查看>>
iOS中显示GIF动画
查看>>
iOS CALayer的transform属性(QuartzCore框架)和view的transform属性(CoreGraphics框架)
查看>>
iOS 网络请求判断连接和状态码
查看>>
iOS之ARC内存管理及强弱指针(二)
查看>>
iOS. Xcode7.1中在请求HTTP时报错的解决方法
查看>>
iOS 网络请求数据工具封装
查看>>
iOS之电商项目中的注意事项
查看>>
iOS文字上面划线的几中方式
查看>>
iOS MJRefresh的用法
查看>>
iOS 字典转模型的几中方法、KVC、runtime、YYModel、MJExtention
查看>>
iOS之coreData的原理和使用以及coreData中的多线程问题(二)
查看>>
iOS之支付宝集成(二)
查看>>