% format %2s 100
100
% format %.2s 100
10
%
%
% format %0.2s 100
10
%
我无法理解 %2s 和 %.2s 之间的区别。
谁能解释我?
% format %2s 100
100
% format %.2s 100
10
%
%
% format %0.2s 100
10
%
我无法理解 %2s 和 %.2s 之间的区别。
谁能解释我?
TCL 格式命令手册页指定格式字符串可以由六个不同的部分组成。在这种情况下,第二、第三和第四部分是有意义的。
如果有来自 set [-+ 0#] 的字符,它们指定字段的对齐方式,如果应该有填充,显示数字的符号等。第三个示例中的 0 指定应该用零而不是空格填充数字. 然而,在这个例子中没有什么要填充的。
如果有其他不带点的数字(第一个示例中为 2),则该数字被解释为最小字段长度,必要时用空格填充数字。
如果有一个点,则 if 后面的数字被解释为精度指示符,它的行为方式因其他格式参数而异。对于字符串,它表示最大字符数。
和
format %4.2s foo
然后你得到
fo
也就是说,最多打印两个字符,但字段宽度至少为 4 个字符。
如果您实际上是在尝试打印数字而不是字符串,那么第六个(唯一必填)字段很重要。“s”表示“按原样打印”。对于要使用的数字,例如“d”表示十进制(整数)或“f”表示浮点数。检查手册以获取整个列表。
和
format %4.2d 100 # Print with at least two numbers and with field width of 4 characters
你得到
100
和
format %08.2f 123.45678 # Field width 8, pad with zeros, print two decimals
你得到
00123.46
在最后一个示例中,请注意所有数字和点都计入字段长度,并且该数字已四舍五入。