Java货币不显示美元货币符号

Java Currency does not display USD currency symbol

我正在尝试使用 java.util.Currency 显示指定货币代码的货币符号。以下适用于英国货币代码 GBP:

final Currency currency = Currency.getInstance("GBP");
final String symbol = currency.getSymbol();
System.out.println(symbol);

输出 £.

但以下不起作用:

final Currency currency = Currency.getInstance("USD");
final String symbol = currency.getSymbol();
System.out.println(symbol);

输出 USD.

我期待它输出 $。为什么这不起作用?

我注意到 getSymbol() 使用系统默认语言环境。是否可以从货币代码中推导出语言环境?

货币符号可能会因您的区域设置而异。因此,无论您的默认语言环境是什么,都会将 USD 显示为符号。建议使用 Currency.getInstance(Locale.US); 而不是 Currency.getInstance("USD");