如何在tcl中用零填充一个特定长度的数字?

时间:2016-02-18 18:35:03

标签: numbers append tcl

我需要填写一个特定长度的数字(比如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]

感谢任何帮助。

感谢。

1 个答案:

答案 0 :(得分:4)

实际上非常简单:

format %-08s $input_num

数字也是一个字符串,因此它可以像字符串一样左对齐。

文档:format