【发布时间】:2019-07-24 14:13:01
【问题描述】:
使用 Java8,以下代码运行良好。现在我想升级到 java12 我遇到了问题,这不起作用。
public static void main(String[] args) {
Double d = new Double(123456.8912);
Locale locale = new Locale.Builder().setLanguage("de").setRegion("AT").build();
DecimalFormat decimalFormat = (DecimalFormat) DecimalFormat.getInstance(locale);
decimalFormat.applyLocalizedPattern("#.##0,00");
System.out.println(decimalFormat.format(d.doubleValue()));
// Excpected is 123.456,89
// Output is 123456,89.
}
【问题讨论】:
-
嗯,奇怪的一个。我的猜测是bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8202537(在 11 中引入)可能是罪魁祸首,但不知道为什么。
-
这个问题好像是Java9内部引入的-> [openjdk.java.net/jeps/252].
标签: java locale decimalformat