个人笔记11

版权声明:本文为博主原创文章,转载请注明出处,尊重劳动成果,谢谢~ https://blog.csdn.net/zhanglf02/article/details/82991995

2018-10-10 java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.

JAVA中如果用BigDecimal做除法的时候一定要在divide方法中传递第二个参数,定义精确到小数点后几位,否则在不整除的情况下,结果是无限循环小数时,就会抛出以上异常。
比如:eachTotalPrice.divide(totalPrice); 如果这里的eachTotalPrice%totalPrice的值为除不尽的小数。就会报异常信息如上。正确的写法是加上精确度:eachTotalPrice.divide(totalPrice,2, BigDecimal.ROUND_HALF_UP)。这样就行啦。

猜你喜欢

转载自blog.csdn.net/zhanglf02/article/details/82991995