金额的数据类型是BigDecimal 通过BigDecimal的divide方法进行除法时当不整除,出现无限循环小数时,就会抛异常的,异常如下:java.lang.ArithmeticException: Non-terminating decimal expansion; no exact ...
场景:两个BigDecimal之间做除法 BigDecimal result dto.getCargoWeight .divide record.getCargoWeight 问题:java.lang.ArithmeticException: Non terminating decimal expansion no exact representable decimal result. 原因:Bi ...
2020-09-22 15:10 0 1043 推荐指数:
金额的数据类型是BigDecimal 通过BigDecimal的divide方法进行除法时当不整除,出现无限循环小数时,就会抛异常的,异常如下:java.lang.ArithmeticException: Non-terminating decimal expansion; no exact ...
模式 含义 RoundingMode.UP 商的最后以为如果大于0,则向前进位 Rounding ...
1.异常信息摘要(详细请见文末): java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result. 2.原因 Bigdecimal ...
BigDecimal类的主要功能是进行小数的大数计算,而且最重要的是可以精确到指定的四舍五入位数。 如果要进行四舍五入的操作,则必须依靠以下的方法:public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode ...
坑:bigdecimal类型做除法运算时,结果为整数或有限小数时候不存在问题,若结果无法整除,为无限小数时报错 错误代码: Bigdecimal b = a.divide(c).setScale(5,ROUND_HALF_DOWN); 错误提示: Non-terminating ...
原来JAVA中如果用BigDecimal做除法的时候一定要在divide方法中传递第二个参数,定义精确到小数点后几位,否则在不整除的情况下,结果是无限循环小数时,就会抛出以上异常。 解决方法: 1 ...
除法运算的函数定义如下 BigDecimal.divide(BigDecimal divisor, int scale, RoundingMode roundingMode) ; scale为小数位数; Java中BigDecimal取整方法,scale ...