gpt4 book ai didi

Java 8 不呈现货币符号

转载 作者:搜寻专家 更新时间:2023-11-01 03:19:50 24 4
gpt4 key购买 nike

我在 Java 8 中发现了一个奇怪的情况。我要将数字格式化为特定的语言环境,但其中一些无法正常工作。

long tenMillion = 10000000L; // this is ten million
Locale[] locales = Locale.getAvailableLocales();
//Locale[] locales = NumberFormat.getAvailableLocales(); // the same situation
for (Locale locale : locales) {
String currency = "Ten million in " + locale.getDisplayName() + " is " +
NumberFormat.getCurrencyInstance(locale).format(tenMillion);
if (locale.getDisplayName().equals("Ukrainian")){
System.out.println(currency);
System.out.println(Currency.getInstance("UAH").getSymbol(locale));
}
}

输出

Ten million in Ukrainian  is ¤ 10 000 000,00
UAH

但是当我创建这个定位的实例时,我得到了正确的结果:

Locale uaLoc = new Locale("uk", "UA");
String currency = "Ten million in " + uaLoc.getDisplayName() + " is " +
NumberFormat.getCurrencyInstance(uaLoc).format(tenMillion);
System.out.println(currency);
System.out.println(Currency.getInstance("UAH").getSymbol(uaLoc));

输出

Ten million in Ukrainian (Ukraine)  is 10 000 000 грн.
грн.

这不仅适用于乌克兰语言环境,也适用于其他语言环境:

Ten million in Bulgarian  is ¤ 10 000 000,00
Ten million in Italian is ¤ 10.000.000,00
Ten million in Korean is ¤ 10,000,000.00
Ten million in Latvian is ¤ 10 000 000,00
etc.

但带有国家/地区格式的区域设置正确:

Ten million in Bulgarian (Bulgaria)  is лв.10 000 000
Ten million in Italian (Italy) is € 10.000.000,00
Ten million in Italian (Switzerland) is SFr. 10'000'000.00
Ten million in Korean (South Korea) is ₩10,000,000
Ten million in Latvian (Latvia) is 10 000 000 €

看起来货币只与国家有关。而且是非常正确的方法!

有谁知道如何请求 Java 9 的 API 更改?如果能遵循 API 就好了

Locale.getAvailableCountryLocales(); 

以免误会。

谢谢

最佳答案

回答您的实际问题:以下是该过程的概述:http://openjdk.java.net/jeps/1您基本上需要填写表格并通过电子邮件发送(地址包含在文章中),并希望有足够多的人与您有相同的要求。 (不知道能不能满足‘两周​​工程工作’的要求。

如果您愿意,也可以作为 JCP Public 参与,允许您评论和讨论现有提案,或者如果您通过签署 Java 规范参与协议(protocol)成为 JCP 成员,甚至可以添加新提案(更多信息:请参阅下一个 url 之后的 JSPA-pdf 链接)。

从这里开始:https://jcp.org/en/participation/overview

关于Java 8 不呈现货币符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33957216/

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