java中new BigDecimal的坑

风流意气都作罢 提交于 2020-02-28 11:40:51

BigDecimal.valueOf(0.004)

new BigDecimal(0.004)

前者:输出的结果是0.004

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

注意事项:

  所以,在比较大小的时候,切记,要用BigDecimal.valueOf,否则临界值判断时逻辑就有误

 

原因:由于后者,对象没有指定精度,如果指定精度的话,也就正常了,如:

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!