diff --git a/calc/com/tenwa/reckon/help/InterestCalServiceImpl.java b/calc/com/tenwa/reckon/help/InterestCalServiceImpl.java index f1a564d34..627db02c4 100644 --- a/calc/com/tenwa/reckon/help/InterestCalServiceImpl.java +++ b/calc/com/tenwa/reckon/help/InterestCalServiceImpl.java @@ -71,7 +71,7 @@ public class InterestCalServiceImpl { } else { // 利息 - inte = new BigDecimal(corpus_overage).multiply(new BigDecimal(preRate)).setScale(2,BigDecimal.ROUND_HALF_UP).toString();// 剩余本金*利率 + inte = new BigDecimal(corpus_overage).multiply(new BigDecimal(preRate)).setScale(20,BigDecimal.ROUND_HALF_UP).toString();// 剩余本金*利率 // 本金, 租金-利息 corpus = new BigDecimal(rent_list.get(i).toString()).subtract(new BigDecimal(inte)).toString();// 租金-利息 } diff --git a/calc/com/tenwa/reckon/util/RentTools.java b/calc/com/tenwa/reckon/util/RentTools.java index c1abe2fd1..6da6f6b05 100644 --- a/calc/com/tenwa/reckon/util/RentTools.java +++ b/calc/com/tenwa/reckon/util/RentTools.java @@ -59,8 +59,8 @@ public class RentTools { BigDecimal numfu1_B = new BigDecimal("-1"); int Nper_i = Integer.valueOf(Nper).intValue(); try { - pmt_B = numfu1_B.multiply(Rate_B).multiply(Pv_B.multiply((num1_B.add(Rate_B)).pow(Nper_i)).add(Fv_B)).divide((num1_B.add(Rate_B.multiply(Type_B))).multiply((num1_B.add(Rate_B)).pow(Nper_i).subtract(num1_B)), 10, BigDecimal.ROUND_HALF_UP); - return pmt_B.toString().equals("") ? "0" : pmt_B.setScale(2, BigDecimal.ROUND_HALF_UP).toString(); + pmt_B = numfu1_B.multiply(Rate_B).multiply(Pv_B.multiply((num1_B.add(Rate_B)).pow(Nper_i)).add(Fv_B)).divide((num1_B.add(Rate_B.multiply(Type_B))).multiply((num1_B.add(Rate_B)).pow(Nper_i).subtract(num1_B)), 20, BigDecimal.ROUND_HALF_UP); + return pmt_B.toString().equals("") ? "0" : pmt_B.toString(); } catch (Exception e) { e.printStackTrace(); }