gpt4 book ai didi

java - 更改 Java printf 中的默认填充字符?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:03:24 27 4
gpt4 key购买 nike

如果我们做 System.out.printf("%10s", "1"); 默认情况下,将添加空格字符以填充 10,对吗?有办法改变吗?

我知道,您可以通过在 s 之前指定 0 来添加 0,但是 printf 是否支持还要别的吗?

最佳答案

没有。空间是硬编码的。这是 java.util.Formatter 源代码的片段:

private String justify(String s) {
if (width == -1)
return s;
StringBuilder sb = new StringBuilder();
boolean pad = f.contains(Flags.LEFT_JUSTIFY);
int sp = width - s.length();
if (!pad)
for (int i = 0; i < sp; i++) sb.append(' ');
sb.append(s);
if (pad)
for (int i = 0; i < sp; i++) sb.append(' ');
return sb.toString();
}

如果您希望获得不同的填充,您可以进行格式后替换或类似操作:

System.out.print(String.format("%10s", "1").replace(' ', '#'));

关于java - 更改 Java printf 中的默认填充字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9997767/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com