当locale更改为indonesia时,DecimalFormat无法正常工作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当locale更改为indonesia时,DecimalFormat无法正常工作相关的知识,希望对你有一定的参考价值。
我正在开发一个支持不同语言的应用程序。我使用DecimalFormat类来格式化双值。以下方法适用于除印度尼西亚以外的所有语言。我感谢任何帮助。
public static String formatNumberWithCommaSeparated(Double number){
DecimalFormat formatter = new DecimalFormat("#,###.00");
String FormattedString = formatter.format(number);
return FormattedString;
}
结果
formatNumberWithCommaSeparated(125.0);
- 英语,马来语,泰国,中文=> 125.00
- 在印度尼西亚语言=> 125,00
答案
实际上是因为格式化程序基于Locale所以,你需要在英国添加一个默认的Locale,它是dot而不是逗号。
NumberFormat nf = NumberFormat.getNumberInstance(Locale.ENGLISH);
DecimalFormat df = (DecimalFormat) nf;
{
df.applyPattern("##.00");
}
另一答案
DecimalFormat formatter = new DecimalFormat("#,###.00",Locale.ENGLISH);
以上是关于当locale更改为indonesia时,DecimalFormat无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章