From 52b9d92b488aa1cdccbefe405571b7e9c600578b Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期一, 09 六月 2025 14:24:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/ytflWms' into ytflWms
---
 src/main/java/com/zy/asrs/utils/MathUtils.java |   87 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 87 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/asrs/utils/MathUtils.java b/src/main/java/com/zy/asrs/utils/MathUtils.java
new file mode 100644
index 0000000..5416894
--- /dev/null
+++ b/src/main/java/com/zy/asrs/utils/MathUtils.java
@@ -0,0 +1,87 @@
+package com.zy.asrs.utils;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+
+public class MathUtils {
+
+
+    // 榛樿闄ゆ硶杩愮畻绮惧害
+    private static final int DEFAULT_DIV_SCALE = 10;
+
+    /**
+     * 绮剧‘鍔犳硶
+     */
+    public static BigDecimal add(BigDecimal... values) {
+        BigDecimal result = BigDecimal.ZERO;
+        for (BigDecimal value : values) {
+            result = result.add(value);
+        }
+        return result;
+    }
+
+    /**
+     * 绮剧‘鍔犳硶
+     */
+    public static Double add(Double... values) {
+        BigDecimal result = BigDecimal.ZERO;
+        for (Double value : values) {
+            result = result.add(BigDecimal.valueOf(value));
+        }
+        return result.doubleValue();
+    }
+
+    /**
+     * 绮剧‘鍑忔硶
+     */
+    public static BigDecimal subtract(BigDecimal a, BigDecimal b) {
+        return a.subtract(b);
+    }
+
+    /**
+     * 绮剧‘鍑忔硶
+     */
+    public static Double subtract(Double a, Double b) {
+        return BigDecimal.valueOf(a).subtract(BigDecimal.valueOf(b)).doubleValue();
+    }
+
+    /**
+     * 绮剧‘涔樻硶
+     */
+    public static BigDecimal multiply(BigDecimal... values) {
+        BigDecimal result = BigDecimal.ONE;
+        for (BigDecimal value : values) {
+            result = result.multiply(value);
+        }
+        return result;
+    }
+
+    /**
+     * 绮剧‘闄ゆ硶锛岄粯璁や繚鐣�10浣嶅皬鏁帮紝鍥涜垗浜斿叆
+     */
+    public static BigDecimal divide(BigDecimal a, BigDecimal b) {
+        return a.divide(b, DEFAULT_DIV_SCALE, RoundingMode.HALF_UP);
+    }
+
+    /**
+     * 绮剧‘闄ゆ硶锛岃嚜瀹氫箟绮惧害鍜岃垗鍏ユā寮�
+     */
+    public static BigDecimal divide(BigDecimal a, BigDecimal b, int scale, RoundingMode mode) {
+        return a.divide(b, scale, mode);
+    }
+
+    /**
+     * 姣旇緝澶у皬锛歛 > b 杩斿洖 1锛沘 < b 杩斿洖 -1锛涚浉绛夎繑鍥� 0
+     */
+    public static int compare(BigDecimal a, BigDecimal b) {
+        return a.compareTo(b);
+    }
+
+    /**
+     * 杞崲涓哄瓧绗︿覆杈撳嚭锛岃嚜鍔ㄥ幓闄ゆ棤鏁堥浂
+     */
+    public static String toPlainString(BigDecimal value) {
+        return value.stripTrailingZeros().toPlainString();
+    }
+}
+
--
Gitblit v1.9.1