原因:发现在做项目的国际化任务时,用DecimalFormat格式化后的小数点变为逗号了,经过调研发现不少欧洲国家就是这样表示的,例如德国,法国等,还有其他一些小语种也会出现小数点变逗号的问题。
解决:
- 手动去声明小数点为‘.’,看以下代码
DecimalFormat df = new DecimalFormat("##0.00");
DecimalFormatSymbols dfs = new DecimalFormatSymbols();
dfs.setDecimalSeparator('.');
df.setDecimalFormatSymbols(dfs);
//然后就可以格式化了
df.format(xxx);
- 转换时添加语言环境利用NumberFormat来提供确定的语言环境例如:Locale.GERMAN
提供以下两篇文章做参考:
1、如何从逗号更改的DecimalFormat的小数点分隔点/点?
2、java.text.NumberFormat用法
另外附上一篇介绍DecimaFormat用法的文章(很简单)
Java DecimalFormat 用法(数字格式化)