안녕하세요, integer
값을 저장하는 tcl에 string
변수가 있습니다. 나는 기본적으로 아래 내 작업을 수행하기 위해 작성한 코드 인 string
변수에서 왼쪽 가장 자리를 얻을 1.하여 증가 할 필요가 다음 maxID
경우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;
지금 내가 뭘하려고하다 1 백만보다 크거나 같으면 maxID
을 다음 백만 값으로 설정하십시오. 위의 예에서 maxID
은 123456
이므로 123456
의 다음 백만 값은 1000000
이므로 이후 maxID
값은 1000000
이어야합니다.
이렇게하려면 가장 왼쪽 숫자가 1 인 다음 1 씩 증가시키고 값을 증가시키는 6 개의 0을 연결합니다. 나는 아직 [string cat $args $args...]
명령을 사용할 수 없으므로 tcl 8.5.x를 사용하고 있습니다.
어쨌든, 같은 일을하는 간단한 방법이 있는지 궁금합니다.
게시 한 코드에 따르면 'maxID'의 결과 값은 '2000000'이 아니라 '1123456'이됩니다. – mkrieger1
고마워요, 맥시드 값이 백만 미만이라는 것을 깨닫지 못했습니다. – Naphstor
그래서 기본적으로'maxID'를 백만 분의 가장 가까운 배수로 반올림하고 싶습니다. 맞습니까? – mkrieger1