哪种格式打印带有前导空格的数字?
Which format to print the number with leading spaces?
输入:
3
100
12
输出:
003
100
012
我需要在 10 个空格后打印数字,然后使用格式说明符从第 11 个位置开始打印数字,如图所示。我试过
%013d
格式说明符,但输出包含尾随零,但我需要空格。
如果您将号码存储为 int x
,则只需使用:
System.out.format(" %03d", x);
如果您有一个 String text = "test";
希望包含在数字前的前 10 个字符中(假设其长度小于 10),那么您可以执行以下操作:
System.out.format("%10s%03d", text, x);
这将打印:
test003
如果你想让text
出现在字符串的开头,那么使用:
System.out.format("%-10s%03d", text, x);
这将打印:
test 003
您可以像这样使用两次格式:
System.out.format("%13s", String.format("%03d", x));
因此,首先将数字格式化为以 0 填充的字符串,然后将此字符串格式化为以 space 填充的字符串。
输入:
3
100
12
输出:
003
100
012
我需要在 10 个空格后打印数字,然后使用格式说明符从第 11 个位置开始打印数字,如图所示。我试过
%013d
格式说明符,但输出包含尾随零,但我需要空格。
如果您将号码存储为 int x
,则只需使用:
System.out.format(" %03d", x);
如果您有一个 String text = "test";
希望包含在数字前的前 10 个字符中(假设其长度小于 10),那么您可以执行以下操作:
System.out.format("%10s%03d", text, x);
这将打印:
test003
如果你想让text
出现在字符串的开头,那么使用:
System.out.format("%-10s%03d", text, x);
这将打印:
test 003
您可以像这样使用两次格式:
System.out.format("%13s", String.format("%03d", x));
因此,首先将数字格式化为以 0 填充的字符串,然后将此字符串格式化为以 space 填充的字符串。