Java BigDecimal Non-terminating decimal expansion; no exact representable decimal result

Java BigDecimal Non-terminating decimal expansion; no exact representable decimal result

Laughing
2022-10-12 / 0 评论 / 894 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2024年03月15日,已超过308天没有更新,若内容或图片失效,请留言反馈。

在日常开发中,我们基本上都是用BigDecimal类型来处理金额,防止精度丢失。
使用BigDecimal做除法时,如果出现除不尽的情况,系统就会报错

之所以出现这个问题,是因为除法除不尽时,BigDecimal不知道如何处理了,因此,使用BigDecimal做除法时,我们需要指定结果的精度及四舍五入的方式。

BigDecimal bigDecimalThree = new BigDecimal("3");
BigDecimal newBigDecimal = BigDecimal.ONE.divide(bigDecimalThree, 1, RoundingMode.HALF_EVEN);
System.out.println(newBigDecimal);
0

评论 (0)

取消