我需要将一个数字填充到特定的长度(比如8位),输入的数字可能是任意长度。
例如:如果输入的数字是123456,我希望将它填充为12345600。
如果我知道所有输入的数字长度都相同(比如6位),我会这样做:
[format "$input_num%02d" 0]
但是由于输入的数字长度可能会不同,我该怎么做呢? 显然,下面这个方法行不通:
set cur_length [expr[llength[split $input_num ""]]
set padding [expr 8 - $cur_length]
set padded_num [format "$input_num%${padding}d" 0]
任何帮助都将不胜感激。
谢谢。
set width 10; format {%-0*s} $width $input_num
-- 使用*
表示将字段宽度作为参数传递。 - glenn jackman