java – Float vs Double

前端之家收集整理的这篇文章主要介绍了java – Float vs Double前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有一种情况,如果将它们比较为DOUBLE,则两个浮点值之间的compare(equals())将返回false,如果将它们比较为FLOAT,则返回true

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

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

谢谢.

解决方法

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

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

9.876543210
9.876543211

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

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

原文链接:https://www.f2er.com/java/126380.html

猜你在找的Java相关文章