以下示例代碼:格式浮點數和指定結果的寬度
System.out.printf(" %1.1f " , 2122.3856);
打印出2122.4
我的上述結果中指定的格式顯示,我問一個小數點和1字符爲寬度。我可以看到一個小數點(即.4),但爲什麼指定的寬度不起作用?
以下示例代碼:格式浮點數和指定結果的寬度
System.out.printf(" %1.1f " , 2122.3856);
打印出2122.4
我的上述結果中指定的格式顯示,我問一個小數點和1字符爲寬度。我可以看到一個小數點(即.4),但爲什麼指定的寬度不起作用?
width
specification is the minimum,不是最大值。
如果你想強制實際上使數字的值無意義的寬度,你應該做數學(如獲得十分之一的位置)或操縱轉換爲字符串。
引用http://docs.oracle.com/javase/6/docs/api/java/util/Formatter.html#syntax(重點是礦):
寬度爲最小數量的字符被寫入輸出
如果號碼是較大它將完全印刷。 2122怎麼能用一個字符打印?
+1重點: d – COD3BOY 2011-12-31 17:05:41
你期望/想看到什麼? – 2011-12-31 16:43:06
您要求1作爲_minimum_寬度,而不是總寬度(請參閱http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html#syntax) – Mat 2011-12-31 16:45:33