3

format()および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<

この疑問を明確にするのを手伝ってください。

4

3 に答える 3

3

のjavadocページには、幅を解釈するときにセパレータをグループ化するための特別な処理については言及されておらず、文字数Formatterについてのみ説明されています。

オプションの width は、出力に書き込まれる最小文字数を示す非負の 10 進整数です。

于 2013-07-23T17:39:24.547 に答える
1

コンマを使用して整数を出力しています。つまり、「7」は幅であり、精度ではありません。幅の値は、先頭のゼロ、スペース、コンマ、小数点、および負符号を含む、書式設定された文字列全体を指します。

于 2013-07-23T17:40:11.603 に答える
0

IO フォーマットのヘルプ ページを参照してください。基本的な構造はのとおりです(クリックして表示)。

このドキュメントによると:

幅は、フォーマットされた値の最小幅を意味します。必要に応じて値がパディングされます。デフォルトでは、値の左側に空白が埋め込まれます。

于 2013-07-23T17:51:00.277 に答える