BigDecimal.setScale工作错误

时间:2018-03-28 08:36:27

标签: java android rounding bigdecimal

这是我的舍入函数:

return new BigDecimal("4.780").setScale(2, RoundingMode.HALF_UP).doubleValue();

从我的观察结果应该是4.8,但它返回4.78。 有人能解释一下原因吗?

1 个答案:

答案 0 :(得分:4)

正如Javadoc中所述:

  

如果为零或正数,则刻度是小数点右侧的位数

因此,如果将其设置为2,则小数点右侧将有2位数字。