正在阅读:
java BigDecimal Non-terminating decimal expansion异常
在定义了BigDecimal类型的数据后,进行除法(divide)计算时,由于可能会出现除不尽的情况,因此,必须要指定多个参数:
如:
completedNum.divide(completedNum.add(uncompletedNum),2,BigDecimal.ROUND_HALF_UP)
其中 第一个参数completedNum.add(uncompletedNum) 为除数
第二个参数 2为保留多少为小数
第三个参数是舍入运算模式
总体模式有如下:
BigDecimal.ROUND_DOWN:直接略多余的小数。
BigDecimal.ROUND_UP:直接进位。
BigDecimal.ROUND_HALF_UP:四舍五入。
BigDecimal.ROUND_HALF_DOWN:四舍五入,但当舍弃部分为5时,向下舍入。
BigDecimal.ROUND_CEILING:向上舍入。
BigDecimal.ROUND_FLOOR:向下舍入。
BigDecima.ROUND_HALF_EVEN:四舍五入,但当舍弃部分左边的数字为奇数时,向上舍入;为偶数时,向下舍入。
该日志由 bemender 于 2024年02月23日 发表
转载请注明文本地址:https://www.bemhome.com/post/195.html