可能重复:
Java printf 使用可变字段大小?
我有一段时间没有使用 Java,所以我正在寻找一种在格式化/打印输出时在/中指定可变宽度的方法。我的示例显示了整数的使用,但我当然希望它也适用于其他类型。format
printf
例如,类似的东西
int val = 8;
int wid = 5;
System.out.printf("%"*d\n", wid, val);
我可以使用这种变通方法,这很丑陋:
System.out.printf("%"+wid+"d\n", val);
变量字段宽度说明符是否*
已从 Java 中删除?这个 old'ish
page,第 1.3.1 节,显示了使用(就像它会在 C 中使用一样),但我无法让它工作,导致:
java.util.UnknownFormatConversionException: Conversion = '*'
我也找不到更多最近的参考资料,这确实有效。
除了我上面的解决方法之外,还有更简单的方法吗?
在发布之前我确实环顾四周,遇到了这个大约 2 岁的 SO 问题Java printf using variable field size? 但这是最后的决定吗?