Java - 如何显示独立于货币区域设置的多种货币?

标签 java locale currency number-formatting currency-formatting

我有一份金额及其货币的列表

  • 500 |美元
  • 1000 |英镑
  • 500000 |欧元

现在我想在一个特定的区域设置中显示这些值并使用货币符号。

例如,对于 en_US 区域设置,显示

  • $500.00
  • 1,000.00 英镑
  • 500,000.00 欧元

如果是 en_DE 语言环境,则显示

  • $500,00
  • 100万英镑
  • 500.000,00 €

使用 NumberFormat 没有给出正确的结果,因为货币符号取决于区域设置。我无法将货币符号与区域设置分离以格式化数字。

NumberFormat numFormat = NumberFormat.getCurrencyInstance(Locale.getDefault());

是否可以在不以编程方式将货币符号连接到格式化数值的情况下获得这些结果?

最佳答案

NumberFormat usFormat = NumberFormat.getCurrencyInstance(new Locale("en", "us"));     
NumberFormat gbFormat = NumberFormat.getCurrencyInstance(new Locale("en", "gb"));    
NumberFormat deFormat = NumberFormat.getCurrencyInstance(new Locale("de", "de"));

关于Java - 如何显示独立于货币区域设置的多种货币?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17116343/

相关文章:

java - 如何对地形和角色进行 3D 碰撞检测?龙王金格

java - 如何将行标题添加到 JFace TableViewer?

java - 方法 Calendal.getInstance(Locale aLocale) 中的区域设置

c++ - 如何使用 C++11 语言环境设施将 UTF-8 用作字符串的内部表示?

dart - Dart :存储货币的最佳类型

java - 我应该保持 OSGi ServiceTracker 打开,还是在使用后关闭它?

swift - 如何使用 ISO 国家代码(2 个字母)查找区域设置标识符

安卓选择货币

java - 带有嵌入式对象的 OrientDB POJO 映射