格式化货币显示货币名称而不是符号
Formatting currencies shows name of currency instead of symbol
我正在这样使用Number.prototype.toLocaleString()
5000.70.toLocaleString('en-AU', {
style: 'currency',
currency: 'EUR',
currencyDisplay: 'symbol',
useGrouping: true
}) // "EUR 5,000.70"
预期结果是 "5,000.70 €"
或 "€5,000.70"
Chrome 中的输出是 "EUR 5,000.70"
如果您阅读 Intl.NumberFormat()
specification,currencyDisplay
的可能值为:
- "
symbol
" 使用本地化的货币符号,例如€,这是默认值,
- "
narrowSymbol
" 使用窄格式符号(“$100”而不是“US$100”),
- "
code
" 使用 ISO 货币代码,
- "
name
" 使用本地化的货币名称,例如 "dollar
",
因此,看起来只需将 currencyDisplay
设置为 narrowSymbol
即可实现您想要的效果:
const x = 5000.70.toLocaleString('en-AU', {
style: 'currency',
currency: 'EUR',
currencyDisplay: 'narrowSymbol',
useGrouping: true
});
console.log(x); // €5,000.70
我正在这样使用Number.prototype.toLocaleString()
5000.70.toLocaleString('en-AU', {
style: 'currency',
currency: 'EUR',
currencyDisplay: 'symbol',
useGrouping: true
}) // "EUR 5,000.70"
预期结果是 "5,000.70 €"
或 "€5,000.70"
Chrome 中的输出是 "EUR 5,000.70"
如果您阅读 Intl.NumberFormat()
specification,currencyDisplay
的可能值为:
- "
symbol
" 使用本地化的货币符号,例如€,这是默认值, - "
narrowSymbol
" 使用窄格式符号(“$100”而不是“US$100”), - "
code
" 使用 ISO 货币代码, - "
name
" 使用本地化的货币名称,例如 "dollar
",
因此,看起来只需将 currencyDisplay
设置为 narrowSymbol
即可实现您想要的效果:
const x = 5000.70.toLocaleString('en-AU', {
style: 'currency',
currency: 'EUR',
currencyDisplay: 'narrowSymbol',
useGrouping: true
});
console.log(x); // €5,000.70