2011-12-31 15 views
0

以下示例代碼:格式浮點數和指定結果的寬度

System.out.printf(" %1.1f " , 2122.3856); 

打印出2122.4

我的上述結果中指定的格式顯示,我問一個小數點和1字符爲寬度。我可以看到一個小數點(即.4),但爲什麼指定的寬度不起作用?

+1

你期望/想看到什麼? – 2011-12-31 16:43:06

+0

您要求1作爲_minimum_寬度,而不是總寬度(請參閱http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html#syntax) – Mat 2011-12-31 16:45:33

回答

1

width specification is the minimum,不是最大值。

如果你想強制實際上使數字的值無意義的寬度,你應該做數學(如獲得十分之一的位置)或操縱轉換爲字符串。

1

我發現在Javadoc以下爲java.util.Formatter(重點煤礦):

可選寬度是一個非負十進制整數指示要寫入到輸出的最小數量的字符。

寬度僅爲最小值,用於填充輸出以便(例如)列將排列。