列支敦士登国家/地区java.text.DecimalFormatSymbols
中的分组分隔符定义错误。它定义为点(.
),但应定义为引用('
)。列支敦士登的定义应与瑞士相同。
我在Oracle Java 1.8中使用了以下测试:
public static void main(String[] args) {
// Locale for Liechtenstein: Language DE and country li
Locale li = new Locale("DE", "li");
DecimalFormatSymbols li_symbols = new DecimalFormatSymbols(li);
System.out.println("LI Grouping symbol is: " + li_symbols.getGroupingSeparator());
// Locale for Switzerland: Language DE and country ch
Locale ch = new Locale("DE", "ch");
DecimalFormatSymbols ch_symbols = new DecimalFormatSymbols(ch);
System.out.println("CH Grouping symbol is: " + ch_symbols.getGroupingSeparator());
}
它会打印出来
LI Grouping symbol is: .
CH Grouping symbol is: '
有没有办法纠正整个java安装? 更改代码中每个位置的区域设置或小数符号,其中使用十进制格式来格式化或解析数字,这里不是一个选项。