2013-05-10 165 views
0

我使用這個代碼:浮點數格式問題

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中獲取此輸出的最佳方式是什麼?

回答

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 
5

閱讀javadoc和使用:

df.setGroupingUsed(false);

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

您也可以通過#####.##作爲圖案

DecimalFormat df = new DecimalFormat("#####.##"); 
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)); 

這會給你想要的結果。