This commit is contained in:
Mrx
2026-01-22 12:18:10 +08:00
parent 84ed26f1e0
commit 6c7169c206

View File

@@ -78,29 +78,43 @@ export const formatDate = dateStr => {
return dateStr // 如果不是标准格式则返回原始字符串
}
// 格式化金额显示(单位:元)
// 格式化金额显示(单位:元)
export const formatLawsuitMoney = money => {
if (!money) return '—'
const value = parseFloat(money)
// 如果是字符串类型,检查是否已经包含单位
if (typeof money === 'string') {
// 匹配常见的金额单位:元、万元、亿元、万、亿等
const unitPattern = /(元|万元|亿元|万|亿|千元|百元|角|分)\s*$/
const unitMatch = money.match(unitPattern)
if (unitMatch) {
// 已经包含单位,提取数字部分和单位
const unit = unitMatch[1]
// 提取数字部分(包括小数点和逗号分隔符)
const numMatch = money.replace(unitPattern, '').trim().replace(/,/g, '')
const value = parseFloat(numMatch)
if (isNaN(value)) return '—'
// 超过1亿显示亿元
if (value >= 10000) {
return (
(value / 10000).toLocaleString('zh-CN', {
minimumFractionDigits: 0,
maximumFractionDigits: 2,
}) + ' 亿元'
)
}
// 否则显示万元
// 格式化数字并保留原有单位
return (
value.toLocaleString('zh-CN', {
minimumFractionDigits: 0,
maximumFractionDigits: 2,
}) + ' 万元'
}) + (unit.includes('元') ? ` ${unit}` : ` ${unit}`)
)
}
}
// 没有单位,按数字处理并添加"元"
const value = parseFloat(money)
if (isNaN(value)) return '—'
return (
value.toLocaleString('zh-CN', {
minimumFractionDigits: 0,
maximumFractionDigits: 2,
}) + ' 元'
)
}