货币代码到货币符号映射

art*_*mka 14 java currency

美好的一天,在数据库中有表与房屋销售记录.对于每个房屋记录,都有货币代码(ISO 4217格式)字段.是否可能以某种方式从该代码中获取货币符号,以便我可以在演示方面使用它?

谢谢.

PS正在尝试解决该问题,将Currency对象(由Currency.getInstance(currencyCode)创建)设置为DecimalNumberFormat setCurrency方法,然后格式化我需要显示的值,但格式化的值仍然没有货币符号.

Kev*_*n D 14

@artjomka

通过将我的默认语言环境设置为拉脱维亚,我能够重现您的问题

Locale.setDefault(new Locale("lv","LV"));
Currency c  = Currency.getInstance("EUR");
System.out.println(c.getSymbol());
Run Code Online (Sandbox Code Playgroud)

这给了我"欧元"的输出.

但是,通过将我的语言环境设置为Uk(已经是我的默认设置),我得到了欧元符号(€).

Locale.setDefault(Locale.UK);
Currency c  = Currency.getInstance("EUR");
System.out.println(c.getSymbol());
Run Code Online (Sandbox Code Playgroud)

  • Nivas在我写作时编辑了他的答案.他的相关文章应该看对你. (2认同)

Niv*_*vas 9

您可以使用Currency对象的getSymbol方法.

使用什么符号取决于使用的Locale请参阅此.

更新,2016年1月: 链接现已死亡.但它们特定于Java 1.4/5,因此不再具有相关性.有关货币格式的更多详细信息,请参阅https://docs.oracle.com/javase/tutorial/i18n/format/numberFormat.html.这些链接可以在WayBackEngine上找到.