【发布时间】:2018-11-30 18:59:29
【问题描述】:
我正在尝试使用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() 使用系统默认语言环境。是否可以从货币代码派生语言环境?
【问题讨论】:
-
它为我打印
$。 -
@crm,在 IntelliJ IDEA 2018.3(社区版)我看到
$,可能问题出在您的终端或 IDE 中? -
Currency#getSymbol的文档还声明“例如,对于美元,如果默认语言环境是美国,则符号是“$”,而对于其他语言环境,它可能是“US$” . 如果无法确定符号,则返回 ISO 4217 货币代码。" - 我怀疑你的语言环境有些不同。 -
这取决于使用的语言环境,试试getSymbol(Locale)