在DecimalFormat中将点更改为逗号

时间:2014-10-01 10:38:18

标签: java decimalformat

当我使用这个格式化程序时:

java.text.DecimalFormat("#.000");

表示1234567 / 1000000.0

输出是:

1.235

我希望它像那样:

1,235

并尝试过:

java.text.DecimalFormat("#,000");

但它不能作为例外工作。如何根据我的情况将点更改为逗号?

4 个答案:

答案 0 :(得分:8)

您需要使用DecimalFormatSymbols的实例设置格式符号:

public void testDec() {
    DecimalFormat df = new DecimalFormat("#.000");
    DecimalFormatSymbols sym = DecimalFormatSymbols.getInstance();
    sym.setDecimalSeparator(',');
    df.setDecimalFormatSymbols(sym);
    System.out.println(df.format(1234567/1000000.0));
}

输出

1,235

答案 1 :(得分:0)

您可以将.替换为,

DecimalFormat decimalFormat=new DecimalFormat("#.000");
double d=1234567/1000000.0;
System.out.println(decimalFormat.format(d).replace(".",","));

Out put:

1,235

答案 2 :(得分:0)

您是否有特殊原因需要使用","?

显示十进制数字?

否则

Double answer = 1234567/1000000.0;
DecimalFormat formatter = new DecimalFormat("#,###");
System.out.println(formatter.format(answer*1000));

答案 3 :(得分:0)

希望下面的代码有帮助

public void decimalExample() {
    DecimalFormat df = new DecimalFormat("#.000");
    DecimalFormatSymbols sym = DecimalFormatSymbols.getInstance();
    sym.setDecimalSeparator(',');
    df.setDecimalFormatSymbols(sym);
    System.out.println(df.format(138947293/1000000.0));
}