使用divide来做除法的时候,需要指定保留的小数位数和取整方式,否则可能会除不尽报java.lang.ArithmeticException: Non-terminating decimal expansion; no exact result这个错误。
例如:保留小数点后四位,向上取整
(item.getAgencyPrice().subtract(dbItem.getCostPrice()))
.divide(dbItem.getCostPrice(), 4, RoundingMode.HALF_UP)