gpt4 book ai didi

java - 获取 javax.money.CurrencyUnit 的显示名称

转载 作者:太空宇宙 更新时间:2023-11-04 12:30:43 25 4
gpt4 key购买 nike

我有一个 javax.money.CurrencyUnit 实例,我想在给定区域设置中显示它的名称(例如“美元”、“欧元”、“日元”等)。我已阅读所有文档,但我唯一能找到的是如何格式化 MonetaryAmount:

MonetaryFormats.getAmountFormat(AmountFormatQueryBuilder.of(Locale.US).set(CurrencyStyle.NAME).set("pattern", "00,00,00,00.00 ¤").build()).format(myCurrencyUnit);

我可以看到我指定了 CurrencyStyle.NAME,因此它将在结果中返回货币名称,但问题是我没有 MonetaryAmount 并且找不到 CurrencyUnit 的格式化程序。

谢谢

最佳答案

我从代码中看到JavaMoney不支持货币显示名称这样的概念。 CurrencyStyle.NAME 尝试从 JDK 货币解析显示名称。

/**
* This method tries to evaluate the localized display name for a
* {@link CurrencyUnit}. It uses {@link Currency#getDisplayName(Locale)} if
* the given currency code maps to a JDK {@link Currency} instance.
* <p>
* If not found {@code currency.getCurrencyCode()} is returned.
*
* @param currency The currency, not {@code null}
* @return the formatted currency name.
*/
private String getCurrencyName(CurrencyUnit currency) {
Currency jdkCurrency = getCurrency(currency.getCurrencyCode());
if (Objects.nonNull(jdkCurrency)) {
return jdkCurrency.getDisplayName(locale);
}
return currency.getCurrencyCode();
}

因此,您无法获取比特币等自定义货币的显示名称。创建了功能请求 Get display name/symbol of a CurrencyUnit

关于java - 获取 javax.money.CurrencyUnit 的显示名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37869617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com