在开发中,我们使用BigDecimal的时候,在做除法计算的时候,抛出:Non-terminating decimal expansion; no exact representable decimal result。如下图: 翻译后:非终止十进制扩展;没有可精确表示的十进制结果 什么意思呢? 代码中使用了 BigDecimal 做精确计算,在做除法时,系统抛出 “ Non-terminating decimal expansion; no...
代码如上,使用baseMonth除以workDay,返回的值按照四舍五入的方式保留两位小数。但是还是出现了异常,原因就在于divide的调用方式。 解决措施 使用divide的重载方法:divide(BigDecimal divisor, int scale, int roundingMode) 代码语言:javascript 复制 returnnewBigDecimal(baseMonth).divide(newBigDecimal(workDay),2,BigDeci...
【BigDecimal】non-terminating decimal expansion; no exact representable decimal result. 问题,如题。 意思是,使用 BigDecimal 除法,产生了无限循环小数,产生了bug。 解决方法,很简单 a.divide(b, 2, BigDecimal.ROUND_HALF_UP); 意思就是 a / b, 保留两位小数,然后采用的是4舍5入的方式。 嗯,然后,第三个...
③BigDecimal 并不代表无限精度先看这段代码:BigDecimal a = new BigDecimal("1.0");BigDecimal b = new BigDecimal("3.0");a.divide(b) // results in the following exception.结果会抛出异常:java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.关于这...
BigDecimal:Non-terminatingdecimalexpansion BigDecimal:Non-terminatingdecimalexpansion 问题:使⽤BigDecimal 做除法运算,提⽰错误 java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result 解决:给divide⽅法设置精确的⼩数点,如:divide(xxxxx,2)
开发问题:BigDecimal除法报错Non-terminating decimal expansion; no exact representable decimal result. 报错代码: //result为计算结果result=cigaretteNum1.divide(result1); 当除法出现1/3这种无穷小数,如果不指定保留几位小数就会报错 修改后代码: //result为计算结果result=cigaretteNum1.divide(result1,2,...
java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result. 通过BigDecimal的divide方法进行除法时当不整除,出现无限循环小数时,就会抛异常:java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result. ...
在使用BigDecimal进行相减操作时,可能会遇到以下异常:java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.这个异常的出现是因为在进行减法运算时,结果会产生一个无穷尽的小数,而BigDecimal类的精度是有限的。
除法操作将10除以3,结果是无限循环小数3.3333...,但由于未指定精度和舍入模式,会抛出ArithmeticException异常。 官方有给出解释: "If the quotient has a nonterminating decimal expansion and the operation is specified to return an exact result, an ArithmeticException is thrown. Otherwise, the exact result...
If the quotient has a nonterminating decimal expansion and the operation is specified to return an exact result, an ArithmeticException is thrown. Otherwise, the exact result of the division is returned, as done for other operations. 大...