我可以使用哪种API将int格式化为2位数?

时间:2010-10-20 08:25:50

标签: java formatting int

我可以使用哪种API将int格式化为2位数字?

例如,在此循环中

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

我可以使用哪些内容确保i打印出01021055等(假设范围为01- 99)

3 个答案:

答案 0 :(得分:28)

你可以简单地做

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

有关详细信息,请查看Formatter的文档。相关部分是:

  
      
  • 常规,字符和数字类型的格式说明符具有以下语法:

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

(在这种特殊情况下,您有0作为标记,2作为宽度,d作为转化。)

  

<强>转换
  'd'整数结果格式化为十进制整数

     

<强>标志
  '0'结果将为零填充


此格式化语法也可以在其他一些地方使用,例如:

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

答案 1 :(得分:10)

String类实际上是格式化的。

对于您的情况,请尝试:

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

答案 2 :(得分:4)

您可以使用DecimalFormat对象。

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

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

将打印“01”。