Java-将BigDecimal值四舍五入为2个小数位

时间:2019-12-30 11:25:45

标签: java bigdecimal

decimalValue=10.2345使用以下代码舍入后得到10.23

decimalValue.setScale(2, RoundingMode.HALF_UP)

我需要将值显示为10.24。找到了一种解决方案,可以将其舍入为2个级别,例如,如下所示,先舍入到3位,然后舍入到2位

decimalValue.setScale(3, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP)

请建议是否有人有更好的解决方案。

1 个答案:

答案 0 :(得分:2)

RoundingMode.HALF_UP将四舍五入到.5以上。

HALF_UP

  

除非双方都采用,否则舍入模式将舍入为“最近的邻居”   邻居是等距的,在这种情况下会四舍五入。如果舍弃分数≥0.5,则表现为RoundingMode.UP;否则,其行为与RoundingMode.DOWN相同。

改为使用RoundingMode.UP

decimalValue.setScale(2, RoundingMode.UP)