栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java浮点型数据的比较

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java浮点型数据的比较

今天遇到了这个问题,也查阅了其他资料。得出了一个结论。

两个浮点型数据不建议使用==和!=来判断是否相等。因为存在精度损失。

来个大家都在用的例子:

float a = 10.222222225f;
float b = 10.222222229f;

判断这两个浮点型数据是否相等。显而易见我们人看来这两个数是不相等的。但计算机却认为是相等的。因为在赋值的时候就出现了精度损失。

 

这种情况后续的比较都没有意义了。

因此浮点型的比较,只能在一定精度范围内进行比较,我取的6位。float精确到小数点后6~7位。6位一定能精确到。

最后的解决方案就是规定精确到小数点后六位取到的数做减法,!=0就认为不相等。

以上为个人见解,仅供参考。

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/338264.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号