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