在我的代码中进行一系列计算后,我有一个 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 许可协议
4 回答1.2k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
2 回答715 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.7k 阅读
2 回答1.3k 阅读
使用 RoundingMode.DOWN 或 RoundingMode.FLOOR 。