格式化货币显示货币名称而不是符号
Posted
技术标签:
【中文标题】格式化货币显示货币名称而不是符号【英文标题】:Formatting currencies shows name of currency instead of symbol 【发布时间】:2020-12-07 06:34:16 【问题描述】:我正在像这样使用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"
【问题讨论】:
尝试使用en-GB
代替en-AU
?
谢谢,确实有效。不幸的是,然后"AUD"
被错误地显示为A$
而不是$
。
【参考方案1】:
如果您阅读了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
【讨论】:
以上是关于格式化货币显示货币名称而不是符号的主要内容,如果未能解决你的问题,请参考以下文章