您好我有一个string
变量在tcl中存储一些integer
值。我需要从string
变量得到最左边的数字,1。增加它基本上下面是我写来完成我的任务代码:以字符串形式在TCL中递增整数值
set maxID 123456;
if {$maxID < 1000000} {
set maxID 1000000;
} elseif {$maxID >= 1000000} {
set maxID [expr [string index $maxID 0] + 1]000000; #Need to Simplify this
}
return $maxID;
现在我所要做的是,如果maxID
是大于或等于100万,则将maxID
设置为下一个百万个值。因此,在以上示例中,因为maxID
为123456
,所以返回maxID
值应为1000000
,因为123456
的下一个百万个值为1000000
。
所以要做到这一点,我得到最左边的数字是1,然后增加1和连续六个零将增加值。我正在使用tcl 8.5.x,所以我仍然没有[string cat $args $args...]
命令可用。
无论如何,我想知道是否有任何简单的方法来做同样的事情。
根据您发布的代码,“maxID”的结果值为“1123456”,而不是“2000000”。 – mkrieger1
谢谢,没有意识到maxid值不到一百万。 – Naphstor
所以你基本上想把'maxID'凑到最接近的几百万,对吧? – mkrieger1