java中new BigDecimal的坑

BigDecimal.valueOf(0.004)对象

new BigDecimal(0.004)ci

前者:输出的结果是0.004im

后者:输出的结果是0.00400000000000000008326672...........................di

注意事项:new

  因此,在比较大小的时候,切记,要用BigDecimal.valueOf,不然临界值判断时逻辑就有误

 

缘由:因为后者,对象没有指定精度,若是指定精度的话,也就正常了,如:

                 new BigDecimal(0.004).setScale(3,RoundingMode.HALF_UP)

相关文章
相关标签/搜索