我想根据它们的区域设置获取货币的符号。但不是返回一个符号,而是返回代码。我有一个片段:没有获取特定区域设置的货币符号
import java.util.Currency;
import java.util.Locale;
public class CurrencyFormat
{
public void displayCurrencySymbols()
{
Currency currency = Currency.getInstance(Locale.US);
System.out.println("United States: " + currency.getSymbol());
}
public static void main(String[] args)
{
new CurrencyFormat().displayCurrencySymbols();
}
}
对于Locale.US它给符号$
但如果我
Currency currency = Currency.getInstance(Locale.GERMANY);
然后,而不是象征它给替换
Currency currency = Currency.getInstance(Locale.US);
国家代码。为什么是这样以及我们如何获得符号?
编辑:寻找一些答案后,我想明确的是,设置一些特定的默认地方是不是一个解决方案,我需要一次显示所有avalaible迹象。
例如
Locale.setDefault(Locale.UK);
会给我欧元符号,但对于美元,它会给代码而不是美元符号($)。
我得到'USD'而不是'$',最新的Java 7在Windows 7上我的默认的语言环境是英国人,但是。对于德国我看到一个欧元符号,对于英国我看到一个英镑符号。 – 2013-02-27 07:39:58
你使用的是什么版本的Java? – 2013-02-27 07:42:49
如果我设置'Locale.setDefault(Locale.US);',我会得到和你一样的结果。 – 2013-02-27 07:42:53