javascript - 格式化货币显示货币名称而不是符号
问题描述
我正在这样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()
规范,可能的值为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
推荐阅读
- html - 如何发送用户单击其中一个按钮的发布请求,并告诉服务器哪个按钮
- python - selenium webdriver geckodriver 出错
- laravel - 插入数据时出现“不正确的整数值”[Eloquent]
- ios - WatchKit:手表上的高度计返回 iPhone(不是手表)的高度
- python - 如何在 github 工作流的下一步中设置和访问 python 代码的响应
- python - 使用一个数据帧中的标头从第二个数据帧中查找行索引
- lwip - 在启用 lwIP 功能的情况下编译和运行 Omnet 的问题 - 已解决
- swift-package-manager - Swift 包管理器在 Sources 中找不到相邻的文件夹/类
- python - 更改 tkinter 画布文本对象的纵横比
- react-native - 每当我在博览会中使用 AppLoading 组件时,为什么我的应用程序会卡在午餐屏幕上