5

http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.htmlからの引用です。

'd''\u0054'引数を10進整数としてフォーマットします。ローカリゼーションアルゴリズムが適用されます。

「0」フラグが指定され、値が負の場合、符号の後にゼロパディングが発生します。

このフォーマットのことを学ぼうとするとイライラしますが、そのチュートリアルはとても雑然としていて散らかっています。

String.format("%03d", int); 

私はこの全体がどこに行くべきかを正確に理解しようとしていますが、私にはまったくわかりません。非常に明白な何かまたは何かが欠けているに違いありません...

編集:

達成したいこと:ポジティブ10:010ネガティブ10:-10ネガティブな結果達成したい:-010

4

3 に答える 3

8

\u0054d

できるよ

((i < 0) ? "-" : "") + String.format("%03d", Math.abs(i)); 
于 2012-09-03T18:54:05.370 に答える
7

次に試してくださいString.format("% 4d", i)(%と4の間のスペースを使用して)。ゼロが埋め込まれた4つの位置を使用しており、正の値のために余分なスペースが残っているため、「010」と「-010」が得られます。trim()後で文字列を使用して、最初のスペースを取り除くことができます(または何かのようなことをすることができif (i>0) s=s.substring(1)ます)。

于 2012-09-03T19:12:23.397 に答える