js 金额格式化来回转换示例


当然,我可以为您提供一个JavaScript中金额格式化(将数字转换为带逗号的货币字符串)以及反格式化(将带逗号的货币字符串转换回数字)的示例。

### 金额格式化

要将金额(数字)格式化为带逗号的货币字符串,我们可以使用`Intl.NumberFormat`对象,它是ECMAScript国际化API的一部分,能够处理各种语言的数字、日期和时间的格式化。


function formatMoney(amount) {
    // 使用Intl.NumberFormat进行金额格式化
    // 假设我们使用美国英语的环境设置
    return new Intl.NumberFormat('en-US', {
        style: 'currency',
        currency: 'USD',
        minimumFractionDigits: 2,
    }).format(amount);
}

// 示例
console.log(formatMoney(1234567.89)); // 输出类似 "$1,234,567.89"(具体输出可能因浏览器或环境而异)

### 金额反格式化

将带逗号的货币字符串转换回数字,我们需要先去除货币符号和逗号,然后将其转换为数字类型。


function unformatMoney(formattedMoney) {
    // 去除货币符号和逗号,然后转换为数字
    // 注意:这个简单的示例假设输入字符串是格式良好的,并且使用美元符号和逗号
    const numericString = formattedMoney.replace(/[\$,]/g, '');
    return parseFloat(numericString);
}

// 示例
console.log(unformatMoney("$1,234,567.89")); // 输出 1234567.89

请注意,这些示例函数可能需要根据您的具体需求进行调整,特别是如果您处理的是非美元货币或不同的数字格式。此外,`Intl.NumberFormat`的`currency`选项可以根据需要更改为其他货币代码。