我正在做一些格式化字符串的示例练习,使用format()
和printf()
方法。 这里是一个例子,其输出我很困惑,请帮助。printf()输出中的混淆
int i2= 12345;
//Total length of the argument should be 7 and pad with zeros
System.out.printf(">%0,7d< \N",i2);
输出是
>012,345<
如果我们看到,争论的时间是6。但是,分隔符是否也计入其长度为 。如果不是,那么根据我的输出结果应该是这样。
>001,2345<
请帮助澄清这个疑问。
但是,格式化指令是“>%0,7d <\ N”而不是%07D,事实上格式化字符串中的逗号和全部似乎包含在Dan指出的总宽度中。请参阅下面的答案。参考Formatter的定义,其中是一个表示最小字符数的非负整数,“,”的确是一个字符。 – benz
是的,'''增加了分组分隔符,丹指出,但我想你已经知道,根据你的问题。 – Keppil
是的,感谢一吨Keppil。非常感谢您的详细回复。 – benz