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,因此相等,即使双重值本身不相等. 但是,如果您正在谈论将浮标投射到双打,那么相同的浮标应该给你相同的双打.如果浮标是不同的,额外的精度将确保双打也是不同的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |