我有一段时间没有使用过Java,所以我一直在寻找方法
格式化/打印输出时,在format
/ printf
中指定变量宽度。我的例子显示了使用整数,但我当然希望这也适用于其他类型。
,例如,
int val = 8;
int wid = 5;
System.out.printf("%"*d\n", wid, val);
我可以使用这种解决方法,这很难看:
System.out.printf("%"+wid+"d\n", val);
是否从Java中删除了*
变量字段宽度说明符?这老了
page,第1.3.1节,
显示使用(就像它将在C中使用),但我无法得到它
工作,导致:
java.util.UnknownFormatConversionException: Conversion = '*'
我也未能找到更多近期的参考资料 确实有效。
除了上面的解决方法之外,还有更简单的方法吗?
我在发布之前确实环顾四周,并且发现了这个关于2岁的SO问题Java printf using variable field size?,但这是最后一句话吗?
答案 0 :(得分:1)
格式说明符的一般语法是
%[参数] [标志] [宽度] [精度] [长度]类型
您也可以使用
代替printf的String.format( “%” + WID + “d”,VAL);
是的,这些是您使用Java Formatter的唯一方法。