数据库中decimal类型数据与BigDecimal的对比

数据库中decimal类型数据与BigDecimal的对比

方法一:

原因:0和0.000000000…的区别

a.getNumber.equals(new Bigdecimal(0));     错误
方法二:

原因:0和0.000000000…的区别

a.getNumber.equals(BigDecimal.ZERO);       错误
方法三:

前两种方法是比较不出来结果的。方法二偶尔也会正确,但偶尔也错误。小数点一般用于金额,所以要慎重慎重再慎重。
而且别看数据库中类型是decimal,和java中的BigDecimal也不一样。

a.getNumber.compareTo(BigDecimal.ZERO);          叮咚,正确

猜你喜欢

转载自blog.csdn.net/qq_44681872/article/details/125392873