JAVA中如何判断DOUBLE类型是否相等呢?
下文笔者讲述使用java代码判断double类型是否相等的方法分享,如下所示
判断double类型是否相等的实现思路
方式1: 转换为字符串,然后进行比较 方式2: 使用DOUBLE.DOUBLETOLONGBITS()方法 进行比较 方式3: 转换为BigDecimal对象后进行比较 笔者建议使用“方式3”进行数据比较例
方式1: 转换成字符串 Float.toString(8.232f).equals(Float.toString(0.542f)) Double.toString(0.231d).equals(Float.toString(0.542f)) 方式2: 使用SUN提供的DOUBLE.DOUBLETOLONGBITS()方法 Double.doubleToLongBits(0.01) == Double.doubleToLongBits(0.01) Double.doubleToLongBits(0.02) > Double.doubleToLongBits(0.01) Double.doubleToLongBits(0.02) < Double.doubleToLongBits(0.01) 方式3: double a = 0.001; double b = 0.0011; BigDecimal data1 = new BigDecimal(a); BigDecimal data2 = new BigDecimal(b); data1.compareTo(data2)
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。