十进制格式在区域设置更改为印度尼西亚时不起作用



我正在开发一个支持不同语言的应用程序。我使用DecimalFormat类来格式化双精度值。下面的方法适用于除印度尼西亚以外的所有语言。我感谢任何帮助。

 public static String formatNumberWithCommaSeparated(Double number){
    DecimalFormat formatter = new DecimalFormat("#,###.00");
    String FormattedString = formatter.format(number);
    return FormattedString;
}

结果

格式数字与逗号分隔(125.0(;

-英语,马来语,泰国语,中文=>125.00

-印度尼西亚语 => 125,00

实际上可以工作,因为格式化程序基于区域设置,因此,您需要像英国一样添加一个默认的区域设置,它是点而不是逗号。

 NumberFormat nf = NumberFormat.getNumberInstance(Locale.ENGLISH);
    DecimalFormat df = (DecimalFormat) nf;
    {
        df.applyPattern("##.00");
    }
DecimalFormat formatter = new DecimalFormat("#,###.00",Locale.ENGLISH);

相关内容

  • 没有找到相关文章

最新更新