我已经引用this并对 BigDecimal
进行四舍五入value 然后我也收到上述错误。请找到下面提到的代码。提前致谢:
BigDecimal val1 = new BigDecimal(494.10000001).setScale(8, BigDecimal.ROUND_UP);
BigDecimal val2 = new BigDecimal(693189.38625000).setScale(8, BigDecimal.ROUND_UP);
BigDecimal result = val1.divide(val2);
System.out.println(result);
最佳答案
答案在那篇文章中,并且也多次声明:
a.divide(b, 8, RoundingMode.HALF_EVEN);
在除法语句中尝试这个(为了保证精度,小数位数为 8)。 您现在正在做的是将两个大的小数相除,这会产生一个超大的小数答案,并且您无法控制精度。
关于java - 除 BigDecimal 值 : java. lang.ArithmeticException 时出错:非终止十进制扩展;没有精确可表示的十进制结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48839527/