BigDecimal踩过的大坑

通常Java中涉及金钱相关的计算为了保持精度,会采用BigDecimal来实现,但是BigDecimal中创建BigDecimal类对象的时候,如果使用直接new的话,必须是String类型的参数,否则会导致创建出来的对象不是你想要的,比如new BigDecimal(0.1)得到的结果可能是:0.1000000000000000055511151231257827021181583404541015625,因为后面加了一串随机值,可能导致你在计算的时候老是得不到你想要的精度,所以在使用该类时,创建对象的时候,须要特别小心的使用new, 或者直接使用valueOf方法。

编码中遇到的各种小坑,且填且铭记吧!
posted @ 2018-08-06 17:36  SheaChen  阅读(536)  评论(0编辑  收藏  举报