DecimalFormat格式化小数点变逗号问题

原因:发现在做项目的国际化任务时,用DecimalFormat格式化后的小数点变为逗号了,经过调研发现不少欧洲国家就是这样表示的,例如德国,法国等,还有其他一些小语种也会出现小数点变逗号的问题。
解决:

  1. 手动去声明小数点为‘.’,看以下代码

    DecimalFormat df = new DecimalFormat("##0.00");
    DecimalFormatSymbols dfs = new DecimalFormatSymbols();
    dfs.setDecimalSeparator('.');
    df.setDecimalFormatSymbols(dfs);
    //然后就可以格式化了
    df.format(xxx);
  2. 转换时添加语言环境利用NumberFormat来提供确定的语言环境例如:Locale.GERMAN

提供以下两篇文章做参考:
1、如何从逗号更改的DecimalFormat的小数点分隔点/点?
2、java.text.NumberFormat用法
另外附上一篇介绍DecimaFormat用法的文章(很简单)
Java DecimalFormat 用法(数字格式化)

猜你喜欢

转载自blog.csdn.net/Jason_Lewis/article/details/79176984