【问题标题】:Which format to print the number with leading spaces?哪种格式打印带有前导空格的数字?
【发布时间】:2015-08-26 15:14:16
【问题描述】:

输入:

3
100
12 

输出:

      003
      100
      012

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

【问题讨论】:

  • 总是 10 个空格?...总是打印 10 个空格似乎很容易...在打印数字之前打印 10 个空格!除非我错过了什么
  • 你能展示你的代码吗?
  • 把13改成3,在%前面加10个空格。
  • 需要输出: rahul 100 ;实际上在整数之前有一个字符串,我需要这个输出,但是如果在整数之前添加空格,则所需的输出可能会根据字符串长度而变化。
  • @AmpatiHareesh 您评论的内容与您最初询问的内容非常不同。请编辑问题并添加一些您实际需要的示例。

标签: java format-specifiers


【解决方案1】:

如果您将号码存储为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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-30
      • 2017-04-30
      • 1970-01-01
      相关资源
      最近更新 更多