您好,我正在努力格式化数字,如 NumberFormat.getInstance() 的文档所述。(Windows 7、NetBeans、Java 7)
我首先进入区域设置并删除了英语、英语键盘和所有内容。我把它全部设置为法语和法国。我什至重新启动了我的电脑。我的代码是:
System.setProperty("user.language", "fr");
System.setProperty("user.country", "FR");
System.setProperty("user.language.display", "fr");
System.setProperty("user.country.display", "FR");
System.setProperty("user.language.format", "fr");
System.setProperty("user.country.format", "FR");
Locale locale = new Locale("French", "France");
Locale.setDefault(locale);
Locale.setDefault(Locale.Category.DISPLAY, locale);
Locale.setDefault(Locale.Category.FORMAT, locale);
java.text.NumberFormat nf = java.text.NumberFormat.getInstance();
System.out.println(nf.format(4.5));
Run Code Online (Sandbox Code Playgroud)
尽管如此,程序还是打印了“4.5”。我不明白,对于法国法国来说,这应该是“4,5”。我还需要做什么?
这就是问题:
Locale locale = new Locale("French", "France");
Run Code Online (Sandbox Code Playgroud)
它应该是:
Locale locale = new Locale("fr", "FR");
Run Code Online (Sandbox Code Playgroud)
或者只是使用Locale.FRENCH.
此外,您不需要设置任何属性或更改默认区域设置。只需获取NumberFormat您感兴趣的区域设置即可。
| 归档时间: |
|
| 查看次数: |
4339 次 |
| 最近记录: |