JS toLocaleString始终显示货币符号,而不考虑区域设置

JS toLocaleString always show currency symbol regardless of locale

本文关键字:不考虑 区域 设置 符号 货币 toLocaleString 显示 JS      更新时间:2023-09-26

我可以使用toLocaleString根据区域设置格式化使用美元符号的货币(比索、加元、澳元),但如果区域设置与货币匹配,则不会给出显示哪种货币的指示符。

我得到的:

// US Currency to US Locale
(1234.56).toLocaleString('en-US', {style: 'currency', currency: 'USD'}); //$1,234.56
// AU Currency to AU Locale
(1234.56).toLocaleString('en-AU', {style: 'currency', currency: 'AUD'}); //$1,234.56
// US currency to AU locale
(1234.56).toLocaleString('en-AU', {style: 'currency', currency: 'USD'}); //US$1,234.56

我想要什么:

// US Currency to US Locale
(1234.56).toLocaleString('en-US', {style: 'currency', currency: 'USD'}); //US$1,234.56
// AU Currency to AU Locale
(1234.56).toLocaleString('en-AU', {style: 'currency', currency: 'AUD'}); //A$1,234.56

有没有办法让它总是显示货币类型指示符?我使用用户传递的语言环境和货币变量。

听起来您想将currencyDisplay: 'code'添加到选项对象中。

这并不能给你提供你想要的格式(100美元,而不是100美元),但它应该总是让你的用户明确知道他们使用的是什么类型的货币,即使货币与地区匹配。

相关文章: