BIG陽(yáng)
2022-12-29 16:43:29
給定一個(gè)值1000.5,我想將其格式化為1,000.50 USD(尾隨貨幣代碼是最相關(guān)的部分)。性能也很重要,因?yàn)閷⑨槍?duì)數(shù)百萬(wàn)個(gè)值發(fā)布格式。因此,不鼓勵(lì)使用正則表達(dá)式。您能否使用Intl.NumberFormat或其他一些標(biāo)準(zhǔn)化的 JavaScript 數(shù)字格式化 API 來(lái)完成此操作?例子:const formatter = Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', currencyDisplay: 'code' })
formatter.format(1000.5)實(shí)際的:1,000.50 美元預(yù)期的:1,000.50 美元
1 回答

肥皂起泡泡
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊
這是一個(gè)使用尾隨 ISO 代碼進(jìn)行格式化的簡(jiǎn)單函數(shù)。
function FormatWithTrailingISO(currency, type,num) {
const formatter = Intl.NumberFormat(type, {
style: "currency",
currency: currency,
currencyDisplay: "code",
});
return formatter.format(num).replace(currency, "") + " " + currency;
}
用法:
console.log(FormatWithTrailingISO("USD", "en-US", 1000.5).trim());
添加回答
舉報(bào)
0/150
提交
取消