使用西方数字的货币格式
我需要能够显示货币金额,其中货币是用户首选区域设置的货币,但仅使用西方数字。例如,如果用户选择的货币区域设置为 ar_AE(阿拉伯联合酋长国),则金额应显示为
AED 1,234.56
或类似内容,并使用正确的货币名称和小数位数,但是使用西方数字。
目前,我正在使用 NumberFormat.getCurrencyInstance(locale)
它使用阿拉伯字形格式化文本。
我有什么选择?我正在寻找一个通用的解决方案,不需要我对任何给定的货币有具体的了解。
I need to be able to display currency amounts where the currency is of the user's preferred locale, but using only Western digits. For example, if the user's chosen locale for the currency is ar_AE
(for the United Arab Emirates) then the amount should be displayed as
AED 1,234.56
or something similar, using the correct currency name and number of decimal places, but using Western digits.
At the moment, I'm using NumberFormat.getCurrencyInstance(locale)
which formats the text using Arabic glyphs.
What options do I have? I'm looking for a general solution which won't require me to have specific knowledge of any given currency.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您想要一个根据英语区域设置进行数字格式化的货币格式化程序,但使用默认区域设置的货币,我会尝试这样的操作:
If you want a currency formatter with number formatting according to the English locale, but using the default locale's currency, I would try something like this:
您可以像这样使用
DecimalFormat
:编辑:要使用货币区域设置,请尝试以下操作:
打印:
EUR 1,23
You might use
DecimalFormat
like this:Edit: to use the locale for currency too, try this:
Prints:
EUR 1,23