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