使用前导空格打印数字的格式是什么?

时间:2015-08-26 15:14:16

标签: java format-specifiers

输入:

3
100
12 

输出:

      003
      100
      012

我需要在10个空格后打印数字,然后使用格式说明符打印数字,所有这些都从第11个位置开始,如图所示。我试过了 %013d格式说明符,但输出包含尾随零,但我需要空格。

2 个答案:

答案 0 :(得分:3)

如果您将号码存储为int x,请使用:

System.out.format("          %03d", x);

如果您希望在数字前面的前10个字符中包含String text = "test";(假设其长度小于10),则可以执行以下操作:

System.out.format("%10s%03d", text, x);

这将打印:

      test003

如果您希望text出现在字符串的开头,请使用:

System.out.format("%-10s%03d", text, x);

这将打印:

test      003

答案 1 :(得分:1)

您可以像这样使用两次格式:

System.out.format("%13s", String.format("%03d", x));

首先,将数字格式化为0填充字符串,然后将此字符串格式化为空格填充字符串。