2012-04-29 32 views
0

我,因爲我要打印的語句代碼如下:格式由兩位十進制數和小數分隔由五個空格

System.out.printf("%-5s.2f %5s %14s %5s\n", months[x], avg[x]((avg[x]-variation)*100.0)/100.0, "Above"); 

我的輸出是:

Months Average Variations 
Jan .2f 13.3 1.7299999999999986 Below 

我需要的格式「變化」下的數字由兩位小數代替,而不是獲得不必要的小數位數,但我也需要將其分隔開,以便格式適當。我不需要上傳其餘的代碼,這是唯一讓我的程序無法工作的東西。

+1

您是否嘗試過[NumberFormat的(http://docs.oracle.com/javase/6/docs/api/java/text/NumberFormat.html)? –

+0

我不相信該行代碼對應於輸出... –

+0

我沒有,但我很新的節目,我想只用printf對這一計劃。 –

回答

0

不知道我是否正確理解這個問題,但也許這個代碼做你想要的?

System.out.println("Months Average Variations"); 
System.out.printf("%-5s.2f %5s %12.2f %5s\n", "Jan", 13.3, 1.7299999999999986, "Below"); 

輸出:

Months Average Variations 
Jan .2f 13.3   1.73 Below 

而且,它總是有用的問StackOverflow上之前,研究互聯網,例如,你可以閱讀this tutorial約格式化數字(和Formatter類的JavaDoc)。

相關問題