加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Float vs Double

发布时间:2020-12-15 00:27:18 所属栏目:Java 来源:网络整理
导读:有没有一种情况,如果将它们比较为DOUBLE,则两个浮点值之间的compare(equals())将返回false,如果将它们比较为FLOAT,则返回true 作为我的小组项目的一部分,我正在编写一些程序来比较任何给定类型的两个数值.有4种类型,我必须完全处理:double,float,int和long.
有没有一种情况,如果将它们比较为DOUBLE,则两个浮点值之间的compare(equals())将返回false,如果将它们比较为FLOAT,则返回true

作为我的小组项目的一部分,我正在编写一些程序来比较任何给定类型的两个数值.有4种类型,我必须完全处理:double,float,int和long.所以我想把double和float组合成一个函数,也就是说,我只是把任何浮点数加倍并进行比较.

这会导致任何不正确的结果吗?

谢谢.

解决方法

如果您将双精度转换为浮点数,并且它们之间的差异超出了浮点型的精度,则可能会遇到麻烦.

例如,假设你有两个双重值:

9.876543210
9.876543211

并且浮点数的精度只有六位十进制数字.这意味着两个浮点值将为9.87654,因此相等,即使双重值本身不相等.

但是,如果您正在谈论将浮标投射到双打,那么相同的浮标应该给你相同的双打.如果浮标是不同的,额外的精度将确保双打也是不同的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读