2014-10-01 23 views
2

當我使用此格式:變化點到逗號在DecimalFormat的

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

爲1234567/1000000.0

輸出爲:

1.235 

我想把它當作這樣的:

1,235 

並嘗試過:

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

但它不能正常工作。如何將點改爲逗號以適應我的情況?

+0

在這裏http://stackoverflow.com/questions/10584948/doubles-commas-and-dots看看 – 2014-10-01 10:41:53

回答

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 
0

您可以,

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

出替代.地說:

1,235 
0

是否有一個特定的原因,你想顯示一個「,」十進制數?

否則

Double answer = 1234567/1000000.0; 
DecimalFormat formatter = new DecimalFormat("#,###"); 
System.out.println(formatter.format(answer*1000)); 
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)); 
}