1 rok temu
rodzic
commit
871bd67afc

+ 46 - 0
platform-common/src/main/java/com/platform/common/util/MathUtils.java

@@ -0,0 +1,46 @@
+package com.platform.common.util;
+
+import org.apache.poi.ss.usermodel.Cell;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.text.DecimalFormat;
+
+import static cn.hutool.core.util.StrUtil.EMPTY;
+
+/**
+ * @Description 字符串工具类
+ * @Author chenli
+ * @Date 2019/7/23
+ * @Version Copyright (c) 2019,北京乾元坤和科技有限公司 All rights reserved.
+ */
+public class MathUtils {
+
+    /**
+     *发现个奇怪的问题,这个方法的四舍五入不算真正的四舍五入,只要后面一位有值就会往前进一位,
+     *例如:123.3333取两位小数之后是123.34。
+     */
+    public static double formatDouble2(double d,int num){
+        //旧的方法,不推荐使用
+//        BigDecimal bd = new BigDecimal(d).setScale(2,BigDecimal.ROUND_HALF_UP);
+        //新的方法,如果不需要四舍五入可以使用RoundingMode.DOWN
+        BigDecimal bd = new BigDecimal(d).setScale(num, RoundingMode.UP);
+        return bd.doubleValue();
+    }
+
+    public static String formatDouble1(double f,int num) {
+        //#.00 表示两位小数
+        String str = "#0.";
+        for (int i=0;i<num;i++){
+            str+=0;
+        }
+        DecimalFormat df = new DecimalFormat(str);
+        return df.format(f);
+    }
+
+    public static void main(String[] args) {
+        formatDouble1(1.0000,2);
+    }
+
+
+}

+ 9 - 5
platform-service/src/main/java/com/platform/service/yongyou/impl/YongyouServiceImpl.java

@@ -726,11 +726,9 @@ public class YongyouServiceImpl implements YongyouService {
             detail.setCitemcode(orderVO.getProjectSecondNo());
 
             detail.setCbmemo(orderVO.getCbmemo());
-
-            detail.setFtaxprice(orderVO.getFtaxprice());
-
-            detail.setIpertaxrate(orderVO.getIpertaxrate());
-            detail.setIorisum(orderVO.getIorisum());
+            detail.setFtaxprice(MathUtils.formatDouble1(orderVO.getIpertaxrate(),4));
+            detail.setIpertaxrate(MathUtils.formatDouble1(orderVO.getIpertaxrate(),2));
+            detail.setIorisum(MathUtils.formatDouble1(orderVO.getIorisum(),2));
 
 
 //            detail.setCdefine12(orderVO.getCdefine12());
@@ -780,6 +778,12 @@ public class YongyouServiceImpl implements YongyouService {
         return response.getMsg();
     }
 
+    public static void main(String[] args) {
+        Double d = new Double(12.00);
+        Double dd = MathUtils.formatDouble2(d,4);
+        System.out.println(dd.toString());
+    }
+
 
 
 

+ 2 - 2
platform-service/src/main/java/handler/yongyou/request/PuAppDetail.java

@@ -7,7 +7,7 @@ import lombok.Data;
  */
 @Data
 public class PuAppDetail {
-    private Double iorisum;//价税合计
+    private String iorisum;//价税合计
 
     private String cbmemo;//物资描述
 
@@ -16,7 +16,7 @@ public class PuAppDetail {
 
     private String cinvcode;//存货编码
 
-    private Double ipertaxrate;//税率
+    private String ipertaxrate;//税率
 
     private Integer fquantity;//数量