货币代码到货币符号的映射
美好的一天,在数据库中有表格与房屋出售记录。对于每个房屋记录,都有货币代码(ISO 4217格式)字段。是否有可能以某种方式从该代码中获取货币符号,以便我可以在演示端使用它?
谢谢。
P.S. 试图解决将 Currency 对象(由 Currency.getInstance(currencyCode)创建)设置为 DecimalNumberFormat setCurrency 方法,然后格式化我需要显示的值,但格式化的值仍然没有货币符号。
美好的一天,在数据库中有表格与房屋出售记录。对于每个房屋记录,都有货币代码(ISO 4217格式)字段。是否有可能以某种方式从该代码中获取货币符号,以便我可以在演示端使用它?
谢谢。
P.S. 试图解决将 Currency 对象(由 Currency.getInstance(currencyCode)创建)设置为 DecimalNumberFormat setCurrency 方法,然后格式化我需要显示的值,但格式化的值仍然没有货币符号。
@artjomka
我能够通过将默认区域设置设置为拉脱维亚来重现您的问题
Locale.setDefault(new Locale("lv","LV"));
Currency c = Currency.getInstance("EUR");
System.out.println(c.getSymbol());
这给了我“EUR”的输出。
但是,通过将我的区域设置保留为Uk(已经是我的默认值),我得到了欧元(€)的符号。
Locale.setDefault(Locale.UK);
Currency c = Currency.getInstance("EUR");
System.out.println(c.getSymbol());
您可以使用对象的 getSymbol 方法。Currency
2016 年 1 月更新:这些链接现在已经死了。但它们是特定于Java 1.4 / 5的,因此不再真正相关。有关货币格式的更多详细信息,请参阅 https://docs.oracle.com/javase/tutorial/i18n/format/numberFormat.html。不过,这些链接可以在WayBackEngine上找到。