我正在做一些格式化字符串的示例練習,使用format()
和printf()
方法。 這裏是一個例子,其輸出我很困惑,請幫助。printf()輸出中的混淆
int i2= 12345;
//Total length of the argument should be 7 and pad with zeros
System.out.printf(">%0,7d< \N",i2);
輸出是
>012,345<
如果我們看到,爭論的時間是6。但是,分隔符是否也計入其長度爲 。如果不是,那麼根據我的輸出結果應該是這樣。
>001,2345<
請幫助澄清這個疑問。
但是,格式化指令是「>%0,7d <\ N」而不是%07D,事實上格式化字符串中的逗號和全部似乎包含在Dan指出的總寬度中。請參閱下面的答案。參考Formatter的定義,其中是一個表示最小字符數的非負整數,「,」的確是一個字符。 – benz
是的,'''增加了分組分隔符,丹指出,但我想你已經知道,根據你的問題。 – Keppil
是的,感謝一噸Keppil。非常感謝您的詳細回覆。 – benz