場景:兩個BigDecimal之間做除法 BigDecimal result = dto.getCargoWeight().divide(record.getCargoWeight()); 問題:java.lang.ArithmeticException ...
模式 含義 RoundingMode.UP 商的最后以為如果大於 ,則向前進位 RoundingMode.DOWN 忽略商的最后一位 RoundingMode.FLOOR 如果商是正數,則按照RoundingMode.UP模式處理 如果是負數,則按照RoundingMode.DOWN處理 RoundingMode.HALF DOWN 對商進行四舍五入,如果最后一位等於 則舍棄 RoundingM ...
2019-08-09 17:34 0 636 推薦指數:
場景:兩個BigDecimal之間做除法 BigDecimal result = dto.getCargoWeight().divide(record.getCargoWeight()); 問題:java.lang.ArithmeticException ...
金額的數據類型是BigDecimal 通過BigDecimal的divide方法進行除法時當不整除,出現無限循環小數時,就會拋異常的,異常如下:java.lang.ArithmeticException: Non-terminating decimal expansion; no exact ...
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 ...