我正在尝试根据语言环境获取货币符号。但不是返回符号,而是返回代码。我有一个片段:
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.US);
和
Currency currency = Currency.getInstance(Locale.GERMANY);
然后它不是符号,而是给出国家代码。为什么会这样以及我们如何获得符号?
编辑:看了一些答案后,我想明确设置一些特定的默认本地不是解决方案,因为我需要一次显示所有可用的标志。
例如
Locale.setDefault(Locale.UK);
会给我欧元符号,但对于doller,它将给出代码而不是doller符号($)。