場景:兩個BigDecimal之間做除法 BigDecimal result = dto.getCargoWeight().divide(record.getCargoWeight()); 問題:java.lang.ArithmeticException ...
金額的數據類型是BigDecimal通過BigDecimal的divide方法進行除法時當不整除,出現無限循環小數時,就會拋異常的,異常如下:java.lang.ArithmeticException: Non terminating decimal expansion no exact representable decimal result. at java.math.BigDecimal.d ...
2017-02-28 14:29 0 2065 推薦指數:
場景:兩個BigDecimal之間做除法 BigDecimal result = dto.getCargoWeight().divide(record.getCargoWeight()); 問題:java.lang.ArithmeticException ...
模式 含義 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 ...