0

我有一个名为的属性m_FOBST,其中包含以下数字:1.5776. 在这里,我试图绕过它:

   this.m_FOBST.setScale(2, BigDecimal.ROUND_HALF_EVEN)

但是,当我应该得到1.58时,我得到了数字1.60

谁能解释为什么?

4

1 回答 1

4

BigDecimal是不可变的 - 确保您使用的是该setScale()方法返回的值。

BigDecimal bd = new BigDecimal("1.5776");

bd = bd.setScale(2, BigDecimal.ROUND_HALF_EVEN);

在这种情况下,bd1.58

于 2013-05-09T14:58:35.893 回答