숫자는 5자리이구요.
예로.....12345 / 23456 / 45678 이 있는데
5자리중 딱 중간(세번째) 숫자를 '5'로 변경하려고 합니다.
LOOP을 돌리면서 12 + 5 + 45 조합해서 할수도 있지만..
특정자리의 숫자(문자)를 일괄적으로 바꿀수있는 펑션이 있나 해서요.
그게 훨 보기도 좋고 간단할것 같은데..
혹시 펑션이 있나요??
댓글 5
-
pika
2008.07.19 14:04
-
나이키
2008.07.19 20:23
data: var(5),
var2(5).
var= 12345.
var2 = 12345.
var+2(1) = '5' <-- var 의 3번째 자리 하나만 5로 바꿀때.
var2+3(1) = '5' <-- var 의 4번째 자리 하나만 5로 바꿀때.
펑션을 쓰지 않아도 위와 같이 간단하게 특정 자릿수의 숫자를 바꿀 수 있네요.
테스트 해 보세요.
-
지의
2008.07.21 17:14
data : begin of itab occurs 0,
filed type char5,
end of itab.
append 12345 to itab.
append 23456 to itab.
append 34567 to itab.
itab-field+2(1) = 5.
MODIFY itab TRANSPORTING field+2(1) WHERE NOT field EQ space.
테스트 해보세요.
-
지의
2008.07.21 17:18
인터널 테이블을 루프 돌리기 싫으신 거 같아서 소스 올려봤습니다만..
위의 modify 구분도 일단은 내부적으로 loop 를 실행합니다.
수고하세요.
-
다급
2008.07.21 18:46
세분 모두 감사드립니다..
var = 12345.
var2 = var+3(1). <- var2 에 3 이 들어갑니다. (3번째부터 1캐릭터만큼)
var3 = var+2(2). <- var3 에 23 이 들어갑니다 (2번째부터 2캐릭터만큼)