2010-10-20 52 views
9

我可以使用什麼API將int格式化爲2位數字?我可以使用哪種API將int格式化爲2位數?

例如,在這個循環

for (int i = 0; i < 100; i++) { 
    System.out.println("i is " + i); 
} 

我能使用,以確保i被打印出來等01021055等(假定的範圍內的01-99)

回答

28

你可以簡單地做

System.out.printf("i is %02d%n", i); 

看看的文檔瞭解詳情。相關部分是:

  • 一般,字符的格式說明,和數字類型的語法如下:

            %[argument_index$][flags][width][.precision]conversion

(在此特定情況下,您有0作爲標誌,2作爲寬度,d作爲轉換。)

轉換
'd'      積分           結果被格式化爲十進制整數

標誌
'0'                                        其結果將是零填充


這種格式化語法可以在其他一些地方使用爲好,比如像這個:

String str = String.format("i is %02d", i); 
4

您可以使用DecimalFormat對象。

DecimalFormat formatter = new DecimalFormat("#00.###"); 
int test = 1; 

System.out.println(formatter.format(test)); 

將打印「01」。

10

String class實際上是做格式化的。

對於你的情況,請嘗試:

String.format("%02d",i)

相關問題