【发布时间】:2021-08-11 06:12:27
【问题描述】:
我有双倍的货币代码和价值。需要对货币进行格式化。我尝试使用 NumberFormat 和 Locale,但在这种情况下,例如 EURO 具有与国家/地区相关的不同区域设置。我怎样才能做到这一点?欧元有什么通用格式吗?
format.setCurrency(Currency.getInstance("EUR"));
format.setMaximumFractionDigits(2);
System.out.println(format.format(dbl));
Locale[] locales = NumberFormat.getAvailableLocales();
for(Locale lo : locales){
NumberFormat format = NumberFormat.getCurrencyInstance(lo);
if(NumberFormat.getCurrencyInstance(lo).getCurrency().getCurrencyCode().equals("EUR")){
System.out.println( NumberFormat.getCurrencyInstance(lo).getCurrency().getCurrencyCode()+"-"+lo.getDisplayCountry() +"-"+NumberFormat.getCurrencyInstance(lo).getCurrency().getSymbol() +format.format(dbl));
}
}```
【问题讨论】:
-
你需要添加一些你尝试过的代码,但是怎么样
-
String newStr = oldStr.replaceAll("[^\\d.]+", "")
-
使用 Java 货币和货币 API 执行此操作:javamoney.github.io