在我的代码中进行一系列计算后,我有一个 BigDecimal
的值为 0.01954
然后我需要将这个 BigDecimal
乘以 100
我希望计算的值是 1.95
我不想执行任何向上或向下舍入,我只想截断小数点后两位以外的任何值
我尝试将比例设置为 2,但后来我得到一个 ArithmeticException
说四舍五入是必要的。如何在不指定舍入的情况下设置比例?
原文由 DJ180 发布,翻译遵循 CC BY-SA 4.0 许可协议
在我的代码中进行一系列计算后,我有一个 BigDecimal
的值为 0.01954
然后我需要将这个 BigDecimal
乘以 100
我希望计算的值是 1.95
我不想执行任何向上或向下舍入,我只想截断小数点后两位以外的任何值
我尝试将比例设置为 2,但后来我得到一个 ArithmeticException
说四舍五入是必要的。如何在不指定舍入的情况下设置比例?
原文由 DJ180 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用包含 RoundingMode 的 setScale 覆盖:
value.setScale(2, RoundingMode.DOWN);
原文由 user1676075 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
使用 RoundingMode.DOWN 或 RoundingMode.FLOOR 。