概述
BigDecimal a = new BigDecimal("0.0");
BigDecimal b = new BigDecimal("0.00");
BigDecimal c = BigDecimal.ZERO;
BigDecimal d = new BigDecimal(0.0F);
BigDecimal f = new BigDecimal(0.00F);
BigDecimal g = BigDecimal.valueOf(0.0F);
BigDecimal h = BigDecimal.valueOf(0.00F);
System.out.println(a.equals(c)); //false
System.out.println(b.equals(c)); //false
System.out.println(a.equals(b)); //false
System.out.println(d.equals(c)); //true
System.out.println(b.equals(f)); //false
System.out.println(a.equals(g)); //true
System.out.println(d.equals(g)); //false
System.out.println(g.equals(h)); //true
Bigdecimal 的 equal() 方法会先比较 这个数的小数保留位数(scale),如果 scale 相同才会继续比较值是否相等。
- 比如 BigDecimal b = new BigDecimal(“0.00”); scale 为 2
- 但要注意 BigDecimal f = new BigDecimal(0.00F); scale 为 0
- .valueOf(0.0F); 和 .valueOf(0.00F); scale 为 1
最后
以上就是糊涂凉面为你收集整理的Bigdecimal 的 equal() 踩坑的全部内容,希望文章能够帮你解决Bigdecimal 的 equal() 踩坑所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复