Java 向货币添加符号
我使用Java NumberFormat显示货币,我想添加货币符号,如: 香港元:港元 加元:加拿大元$ 新加坡元:新加坡元 不是美元、英镑、欧元等 有没有办法让NumberFormat自动添加这些内容?或者你可以推荐一个不同的解决方案 看看这个(第一次谷歌搜索) 将打印:Java 向货币添加符号,java,number-formatting,Java,Number Formatting,我使用Java NumberFormat显示货币,我想添加货币符号,如: 香港元:港元 加元:加拿大元$ 新加坡元:新加坡元 不是美元、英镑、欧元等 有没有办法让NumberFormat自动添加这些内容?或者你可以推荐一个不同的解决方案 看看这个(第一次谷歌搜索) 将打印: Initially Currency: $ Currency set as: CA$ 对于JDK 8,您需要使用localegetSymbol() //JDK 8 nF.setCurrency(Currency.getI
Initially Currency: $
Currency set as: CA$
对于JDK 8,您需要使用localegetSymbol()
//JDK 8
nF.setCurrency(Currency.getInstance(Locale.JAPAN));
System.out.println("Currency set as: " + nF.getCurrency().getSymbol(Locale.JAPAN));
也将显示标志
Currency set as: ¥
我找到了以下库:。它是JSR354:JavaAPI的货币和货币实现 这是我发现的代码,它产生了一些接近期望的需求(例如澳元:A$1.00):
输出:
A$1.00
可能与Hi重复,在本文中,他们使用的是货币类,这不是答案。也许可以作为注释传递不,我知道如何获得符号,我想要标志看看这个。使用nF.getCurrency().getSymbol()
@VSMent,我仍然得到CAD,而不是CA$或C$@guyshalev Hm。。工作顺利。我将在IDE中测试它。
Currency set as: ¥
MonetaryAmount oneAuDDollar = Monetary.getDefaultAmountFactory()
.setCurrency("AUD").setNumber(1).create();
MonetaryAmountFormat format = MonetaryFormats.getAmountFormat(
AmountFormatQueryBuilder.of(Locale.US)
.set(CurrencyStyle.SYMBOL)
.set("pattern", "¤ #,##0.00###")
.build());
String formatted = format.format(oneAuDDollar);
System.out.println(formatted);