如何在Java中使用printf填充0的空白空间

时间:2013-01-30 22:50:02

标签: java printf

如何使用0填充以下代码中第一列的空格?

for(int i = 0; i < 10; i++) {
    System.out.printf("%-3.0f  %-1s%8.2f%1s %8.2f\n", (double)i, "[", 10d, "]", 10000d);
}

输出:

0    [   10.00] 10000.00
1    [   10.00] 10000.00
...

我想要的输出

000  [   10.00] 10000.00
001  [   10.00] 10000.00
...

3 个答案:

答案 0 :(得分:3)

在打印格式前加零:

System.out.printf("%03.0f ...");
// -----------------^

答案 1 :(得分:0)

  for(int i = 0; i < 10; i++) {
       System.out.printf("%-3.0f  %-1s%08.2f%1s %08.2f\n", (double)i, "[", 10d, "]", 10000d);
  }

见8之前的0。

答案 2 :(得分:0)

    for(int i = 0; i < 10; i++) {
        System.out.printf("%03d  %-1s%8.2f%1s %8.2f\n", (int)i, "[", 10d, "]", 10000d);