From 03043192ddf00f9a36b7454799a9152cd1b50a0b Mon Sep 17 00:00:00 2001
From: admin <344137771@qq.com>
Date: Tue, 06 Jan 2026 11:13:45 +0800
Subject: [PATCH] 1

---
 src/utils/utis.js |   38 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/src/utils/utis.js b/src/utils/utis.js
index 01d6d10..f9a3b85 100644
--- a/src/utils/utis.js
+++ b/src/utils/utis.js
@@ -242,3 +242,41 @@
     return new URL(url, import.meta.url).href
 }
 
+/**
+ * @description 格式化数字,在三位之间加逗号
+ * @param {String|Array} value 字符串形式的数字或数字字符串数组
+ * @returns {String|Array} 格式化后的字符串或数组
+ * @example
+ * formatNumberWithComma("1000") // "1,000"
+ * formatNumberWithComma(["1000", "2000"]) // ["1,000", "2,000"]
+ */
+export const formatNumberWithComma = (value) => {
+    if(value === null || value === undefined) return value;
+    // 格式化单个数字字符串
+    const formatSingleNumber = (num) => {
+        // 转换为字符串并移除已有逗号
+        const str = String(num).replace(/,/g, '');
+        // 转换为数字进行验证和格式化
+        const numValue = Number(str);
+        if (isNaN(numValue)) {
+            return str;
+        }
+        // 保留两位小数并转换为字符串
+        const fixedValue = numValue.toFixed(2);
+        // 分离整数部分和小数部分
+        const parts = fixedValue.split('.');
+        // 对整数部分添加逗号(从右往左每三位加一个逗号)
+        parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
+        // 合并整数和小数部分
+        return parts.join('.');
+    };
+
+    // 如果是数组,处理数组中的每个元素
+    if (Array.isArray(value)) {
+        return value.map(item => formatSingleNumber(item));
+    }
+    
+    // 如果是字符串或数字,直接处理
+    return formatSingleNumber(value);
+}
+

--
Gitblit v1.9.3