我正在使用此代码:
DecimalFormat df = new DecimalFormat();
df.setMinimumFractionDigits(2);
df.setMaximumFractionDigits(2);
float a=(float) 15000.345;
Sytem.out.println(df.format(a));
我收到此输出:15,000.35
我不希望逗号进入此输出。
我的输出应该是:15000.35
。
在Java中获取此输出的最佳方法是什么?
答案 0 :(得分:5)
阅读javadoc并使用:
df.setGroupingUsed(false);
答案 1 :(得分:3)
试
DecimalFormat df = new DecimalFormat();
df.setMinimumFractionDigits(2);
df.setMaximumFractionDigits(2);
df.setGroupingUsed(false);
float a=(float) 15000.345;
System.out.println(df.format(a));
和
Sytem.out.println(df.format(a)); //wrong //sytem
System.out.println(df.format(a));//correct //System
答案 2 :(得分:1)
应设置分组大小。默认值为3.请参阅Doc.
df.setGroupingSize(0);
或者您使用setGroupingUsed。
df.setGroupingUsed(false);
您的完整代码
DecimalFormat df = new DecimalFormat();
df.setMinimumFractionDigits(2);
df.setMaximumFractionDigits(2);
df.setGroupingUsed(false);
float a=(float) 15000.345;
Sytem.out.println(df.format(a));
答案 3 :(得分:0)
您也可以将#####.##
作为模式传递
DecimalFormat df = new DecimalFormat("#####.##");
答案 4 :(得分:0)
你可以这样做:
DecimalFormatSymbols otherSymbols = new DecimalFormatSymbols(currentLocale);
otherSymbols.setDecimalSeparator(',');
otherSymbols.setGroupingSeparator('.');
DecimalFormat df = new DecimalFormat(formatString, otherSymbols);
之后你已经完成了:
df.setMinimumFractionDigits(2);
df.setMaximumFractionDigits(2);
float a=(float) 15000.345;
System.out.println(df.format(a));
这将为您提供预期的结果。