泰山版《Java开发手册》答开发者问
不知道是不是问题。 手册中(四)OOP规约 第9条 提到可以用BigDecimal的equals方法比较浮点数等值,这个有问题的。
BigDecimal a = new BigDecimal('0.1');
BigDecimal b = new BigDecimal('0.10');
// 这个是false
System.out.println(a.equals(b));
// 这个才是0
System.out.println(a.compareTo(b));
踩过这个坑,equals根本不适用于判断等值,还是得用compareTo()方法
赞0
踩0