如何在不舍入的情况下截断 BigDecimal

新手上路,请多包涵

在我的代码中进行一系列计算后,我有一个 BigDecimal 的值为 0.01954

然后我需要将这个 BigDecimal 乘以 100 我希望计算的值是 1.95

我不想执行任何向上或向下舍入,我只想截断小数点后两位以外的任何值

我尝试将比例设置为 2,但后来我得到一个 ArithmeticException 说四舍五入是必要的。如何在不指定舍入的情况下设置比例?

原文由 DJ180 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 772
2 个回答

使用包含 RoundingMode 的 setScale 覆盖:

 value.setScale(2, RoundingMode.DOWN);

原文由 user1676075 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题