소스 검색

计算工具类

home 2 년 전
부모
커밋
562b2c84c2
1개의 변경된 파일39개의 추가작업 그리고 0개의 파일을 삭제
  1. 39 0
      hx-common/common-tool/src/main/java/com/fjhx/utils/BigDecimalUtil.java

+ 39 - 0
hx-common/common-tool/src/main/java/com/fjhx/utils/BigDecimalUtil.java

@@ -28,6 +28,42 @@ public class BigDecimalUtil {
     }
 
     /**
+     * 加法运算
+     */
+    public static BigDecimal add(Object v1, Object v2) {
+        return objToBigDecimal(v1).add(objToBigDecimal(v2));
+    }
+
+    /**
+     * 减法运算
+     */
+    public static BigDecimal subtract(Object v1, Object v2) {
+        return objToBigDecimal(v1).add(objToBigDecimal(v2));
+    }
+
+    /**
+     * 乘法运算
+     */
+    public static BigDecimal multiply(Object v1, Object v2) {
+        return objToBigDecimal(v1).multiply(objToBigDecimal(v2));
+    }
+
+
+    /**
+     * 除法运算
+     */
+    public static BigDecimal divide(Object v1, Object v2, int scale) {
+        return objToBigDecimal(v1).divide(objToBigDecimal(v2), scale, RoundingMode.HALF_UP);
+    }
+
+
+    /*
+     * ==============================================================================================
+     * 以下为链式调用方法
+     * ==============================================================================================
+     */
+
+    /**
      * 结果值
      */
     private BigDecimal bigDecimal;
@@ -96,6 +132,9 @@ public class BigDecimalUtil {
         return bigDecimal.setScale(scale, RoundingMode.HALF_UP);
     }
 
+    /**
+     * Object转BigDecimal
+     */
     private static BigDecimal objToBigDecimal(Object value) {
         BigDecimal bd;
         if (value instanceof BigDecimal) {