Java printf() 中的数字是什么意思?

What does the numbers in Java printf() mean?

当我在 java 中看到这个时,我知道 .2 是小数位,f 是浮点数,n 是换行符等等。但是 6 是什么?

System.out.printf("%6.2f2%n", someDouble);

代表printf方法返回的字符串长度。 所以在这种情况下,字符串长度至少为 6 个字符。

这意味着如果

someDouble=pi

然后

System.out.printf("%6.2f2%n", someDouble);

将打印出字符串

"  3.14"

(即 2 个空格后跟包含 3.14 的 4 个字符)

另一个例子是

System.out.printf("%2.2f2%n", someDouble);

打印出来

"3.14"

我们可以从中看出,如果给出的值比应用其他规则所需的值短,则这不会覆盖 .2 或此命令中的任何其他内容。

所以这只能确保值前面有额外的空格。