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)
请建议是否有人有更好的解决方案。
答案 0 :(得分:2)
RoundingMode.HALF_UP
将四舍五入到.5
以上。
除非双方都采用,否则舍入模式将舍入为“最近的邻居” 邻居是等距的,在这种情况下会四舍五入。如果舍弃分数≥0.5,则表现为RoundingMode.UP;否则,其行为与RoundingMode.DOWN相同。
改为使用RoundingMode.UP
decimalValue.setScale(2, RoundingMode.UP)