2010-08-30 63 views
9
Float sum = new Float(300); // always somehow calculated 
DecimalFormat df = new DecimalFormat("#.#"); 
String s = df.format(sum/3); // prints 100, I want 100.0 
s = df.format(301/3); // pritns 100.3 which is correct 

結果應該總是被格式化爲1位十進制palce,怎麼做?如何在使用DecimalFormat時始終顯示小數部分?

回答

31

變化

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

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

基本上,0表示 「總是顯示在這個位置中的數字」,其中,a#是指「顯示數字在此位置,除非它是零「。

+0

thanx,工作,我現在明白了... – Xorty 2010-08-30 15:12:30

+0

btw如果結果是0和格式是(「#.0」)的結果將是沒有什麼?我應該使用(「0.0」)嗎? – Xorty 2010-08-30 15:14:04

+0

如果結果爲0,那麼你會得到.0。如果你總是想要0.0,那麼你應該改變它(「0.0」); – CoolBeans 2010-08-30 15:17:42

6

你可以閱讀關於模式here。改變下面的行應該做的伎倆。

DecimalFormat df = new DecimalFormat("#.0"); 
相關問題