我正在开发一个支持不同语言的应用程序。我使用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);