From a67cf0e3468fc114afae785f74cb616d94777579 Mon Sep 17 00:00:00 2001 From: gongbiao Date: Fri, 26 Apr 2019 11:44:41 +0800 Subject: [PATCH] =?UTF-8?q?[=E7=A7=9F=E8=B5=81=E5=90=88=E5=90=8C][?= =?UTF-8?q?=E4=BF=AE=E6=94=B9][=E9=87=91=E9=A2=9D=E4=B8=BA=E8=B4=9F?= =?UTF-8?q?=E9=97=AE=E9=A2=98]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/service/impl/WxRentContractServiceImpl.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index 66ab8d1eb..89c837000 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -805,10 +805,11 @@ public class WxRentContractServiceImpl implements WxRentContractService { size = integers.size(); priceArrs = new long[size]; priceArrs[0] = price; - double priceD = price; + BigDecimal priceD = new BigDecimal(price); for (int i = 1; i < size; i++) { - priceD = priceD + priceD * integers.get(i) / 10000.0; - priceArrs[i] = new BigDecimal(priceD).setScale(0, RoundingMode.HALF_EVEN).intValue(); + BigDecimal divide = priceD.multiply(new BigDecimal(integers.get(i))).divide(new BigDecimal(10000)); + priceD = priceD.add(divide); + priceArrs[i] = priceD.setScale(0, RoundingMode.HALF_EVEN).longValue(); } }