昨天在写一个关于金额计算的时候,随手用了BIgDecimal结果出问题了,如下图NO.3那样,期望值是10.00,结果是10.1...
后来发现犯了一个想当然的错误,那就是两个参数的构造方法是这样的,如下图:
也就是说divide(d,2)中的2并不再是取两位小数的意思了,而是RoundingMode的枚举值2,然而scale的默认值是1
因此对于这样的结果也就不足为奇了!!
时间: 2024-10-08 02:33:23
昨天在写一个关于金额计算的时候,随手用了BIgDecimal结果出问题了,如下图NO.3那样,期望值是10.00,结果是10.1...
后来发现犯了一个想当然的错误,那就是两个参数的构造方法是这样的,如下图:
也就是说divide(d,2)中的2并不再是取两位小数的意思了,而是RoundingMode的枚举值2,然而scale的默认值是1
因此对于这样的结果也就不足为奇了!!