【问题标题】:Java Currency does not display USD currency symbolJava Currency 不显示美元货币符号
【发布时间】: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)

标签: java locale currency


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-26
    • 1970-01-01
    • 1970-01-01
    • 2018-03-29
    • 1970-01-01
    • 1970-01-01
    • 2012-02-22
    • 1970-01-01
    相关资源
    最近更新 更多