浮点数格式问题



我正在使用这个代码:

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中得到这个输出的最好方法是什么?

读取javadoc并使用:

df.setGroupingUsed(false);

try

             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

应设置分组大小。默认值为3。

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));

也可以传递#####.##作为模式

DecimalFormat df = new DecimalFormat("#####.##");

你可以这样做:

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));

相关内容

  • 没有找到相关文章

最新更新