【发布时间】:2014-11-26 04:18:57
【问题描述】:
当我使用这个格式化程序时:
java.text.DecimalFormat("#.000");
对于 1234567/1000000.0
输出是:
1.235
我想要这样:
1,235
并尝试过:
java.text.DecimalFormat("#,000");
但它不能作为例外工作。如何根据我的情况将点改为逗号?
【问题讨论】:
标签: java decimalformat
当我使用这个格式化程序时:
java.text.DecimalFormat("#.000");
对于 1234567/1000000.0
输出是:
1.235
我想要这样:
1,235
并尝试过:
java.text.DecimalFormat("#,000");
但它不能作为例外工作。如何根据我的情况将点改为逗号?
【问题讨论】:
标签: java decimalformat
您需要使用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
【讨论】:
您可以将. 替换为,
DecimalFormat decimalFormat=new DecimalFormat("#.000");
double d=1234567/1000000.0;
System.out.println(decimalFormat.format(d).replace(".",","));
输出:
1,235
【讨论】:
您想用“,”显示十进制数字有什么特别的原因吗?
否则
Double answer = 1234567/1000000.0;
DecimalFormat formatter = new DecimalFormat("#,###");
System.out.println(formatter.format(answer*1000));
【讨论】:
希望下面的代码有所帮助
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));
}
【讨论】: