Division is undefined錯誤


1. 此錯誤僅在使用BigDecimal做除法時,且0/0的情況下才會提示。

x/0時,僅提示Division by zero。

2. BigDecimal判斷一個值是否為0時,不能使用equals,因為equals會比較值的大小和精度的大小,即0.00 和 0.000是不同的。

需要使用 x.compareTo(BigDecimal.ZERO) == 0 來判斷。

3. 且使用divide做除法時,標准的形式為 x.divide(y, scale,rm)

如果不指明scale的值,會默認使用 x.scale - y.scale的值替代,如果此時值為負數,則會報錯 Division undefined。

且不指定scale 和 rm四舍五入方式,如果遇到 1/3 這種除不盡的情況,會報如下錯誤:

Non-terminating decimal expansion; no exact representable decimal result. 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM