从我下面的decimalForm方法,我想将双值7777.54转换为7 777,54,但我得到7 777 54.错过了什么?结果应为7 777,54
public static String decimalForm(double value){
DecimalFormat df = new DecimalFormat("#,###,###.00");
String formatted_value = df.format(value).replaceAll(",", " ").replace(".", ",");
return formatted_value;
}
答案 0 :(得分:1)
这对我有用:
DecimalFormat df = new DecimalFormat("#,###,###.00");
String formatted_value = df.format(value).replaceAll("\\.", " ");
事实上,我试图打印出df.format(value)
,而value=95871
我得到了95.871,00
答案 1 :(得分:0)
你可以使用
String formatted_value = String.format("$%.2f", value);
答案 2 :(得分:0)
在模式#,###,###.00
中,.
是小数点分隔符,,
是组分隔符。用于这两个分隔符的字符取决于您的语言环境。
例如,如果您是法国人,df.format(value)
将等于7 777,54
。
答案 3 :(得分:0)
这不是String.replace版本
DecimalFormat df = new DecimalFormat("#,###,###.00", new DecimalFormatSymbols(Locale.FRANCE));
String s = df.format(7777.54);
System.out.println(s);
输出
7 777,54