如何打印出带零填充的字符串?

How to print out a string with zero-padding?

我必须打印出一个数字左侧带有零的字符串(例如“01”),因此总共打印出 6 个字符。例如,值“01”的字符串应打印为“000001”。

我已经寻找过这样做的方法,但是使用各种形式的 printf 我只能以正确的间距打印它,但空格没有被零占据。

这是我试过的方法:

String id = "01";
System.out.printf("%6s", id);

输出:

     1

我读到在 6 之前和 % 之后添加一个 0 应该在我想要的位置添加零,但它会引发 运行 时间错误。

谢谢, 泰勒

将字符串转换为整数,然后进行格式化。

String id = "01";
int i = Integer.parseInt(id);
System.out.printf("%06d", i);

输出:

000001