所以我坐在一些我设置为Java 1.8_181的旧代码(java SE)上,在java.text.DecimalFormat停止使用负数的过程中。下面的示例代码显示了该问题:
DecimalFormatSymbols dfs = new DecimalFormatSymbols(new Locale("sv", "SV"));
DecimalFormat tmp = new DecimalFormat("#,##0", dfs);
String test = "-150";
Number num = null;
try {
num = tmp.parse(test);
} catch (ParseException e) {
e.printStackTrace();
} finally {
System.out.println("Number comma is: "+num);
}
给我以下异常:
java.text.ParseException: Unparseable number: "-150"
Number comma is: null
at java.base/java.text.NumberFormat.parse(NumberFormat.java:431)
at Main.Main.main(Main.java:90)
根据git,项目文件在master上说它是Java 1.8(32位),我不知道是哪个Java 1.8构建,但我当前正在使用Java 1.8_181(64位)。
但是,在旧的.jar文件中,此示例并未引发ParseException,这是在我开始使用代码时出现的。
有人知道不会在字符串中解析“-”吗?