Java货币不显示USD货币符号

时间:2018-11-30 18:59:29

标签: java locale currency

我正在尝试使用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()使用系统默认语言环境。是否可以从货币代码导出语言环境?

1 个答案:

答案 0 :(得分:2)

根据您所在的语言环境,货币符号可能会有所不同。因此,无论您的默认语言环境是什么,都将USD作为符号显示。建议使用Currency.getInstance(Locale.US);代替Currency.getInstance("USD");