我有一个名为m_FOBST
的属性,其中包含以下数字:1.5776
。在这里,我试图围绕它:
this.m_FOBST.setScale(2, BigDecimal.ROUND_HALF_EVEN)
然而,当我得到 1.58 时,我得到的数字 1.60 。
任何人都可以解释原因吗?
答案 0 :(得分:4)
BigDecimal
是不可变的 - 请确保使用setScale()
方法返回的值。
BigDecimal bd = new BigDecimal("1.5776");
bd = bd.setScale(2, BigDecimal.ROUND_HALF_EVEN);
在这种情况下,bd
1.58