java - 如何在 Java 中使用前导空格格式化数字

我有以下 Java 代码来生成用零填充的数字。

    DecimalFormat fmt = new DecimalFormat("000");
    for (int y=1; y<12; y++)
    {
        System.out.print(fmt.format(y) + " ");
    }

输出如下:

001 002 003 004 005 006 007 008 009 010 011

我的问题是:如何生成带有填充空格而不是前导零的数字?

1 2 3 4 5 6 7 8 9 10 11

注意:我知道 StackOverflow 中有几个问题要求在 String 中填充空格。我知道如何用字符串来做到这一点。我问是否可以使用填充空间格式化 NUMBERS

最佳答案

    for (int y=1; y<12; y++)
    {
        System.out.print(String.format("%1$4s", y));
    }

它将打印长度为 4 的字符串,因此如果 y=1 它将打印 3 个空格和 1,“1”,如果 y 为 10,它将打印 2 个空格和 10, “10”

See the javadocs

https://stackoverflow.com/questions/22541056/

相关文章:

ruby - 在rails应用程序中生成pdf时如何用Prawn定义行高?

r - 如何将具有混合日期格式的变量转换为一种格式?

reporting-services - 格式化电话号码并在返回为空时隐藏#ERROR SSRS

google-apps-script - 单元格处于事件状态时突出显示整行

c# - Visual Studio 改变了 Ctrl-K-D 的工作方式

php - Aptana 自动格式化

java - 如何在 Java 中设置尊重用户操作系统设置的日期和时间格式

ruby - 如何格式化 BigDecimal 以仅显示所需数量的十进制数字?

r - 在 knitr 上设置全局千位分隔符

sql-server - 漂亮的 T-SQL 打印机?