[질문] 문자열을 숫자로 바꿀때 공백처리는?
안녕하세요.
'가나다라 20' 이란 문자열이 있을때 뒤에서 3자리를 copy()로 읽어와서
숫자로 바꿔야 하거던요. '020' 이란 숫자는 결국 '20' 이란 숫자만 필요하게 됩니다.
이것 처리점 해주세요.
'가나다라' 뒤 꼭 3자리를 읽어와야 하는데 예를들어 '300' 이 될수도 있고...
'가나다라 1' 처럼 숫자가 한자리는 필요없습니다.
그러니까 두자리 아니면 세자리의 숫자만 들어오게 됩니다.
숫자가 아니면 필요없게 되버립니다.
만약, '가나다라20' 이란 문자열도 필요없습니다. 3자리 불러오면 어차피 깨질꺼니까요.
제가 한건 이렇게 했는데 showmessage에서 확인하면 '[]20' 이렇게 불러와 지네요. 사용할 문자열은 stringgrid1.cells[2,i] 구요.
* ( [] 는 한글 깨질때 나오는 이상한 문자 예를들어 '네모' )
trim() 으로 해도 '네모'는 그냥 따라오네요.
tempstr := copy(stringgrid1.cells[2,i],length(stringgrid1.cells[2,i])-3,length(stringgrid1.cells[2,i]));
showmessage(tempstr);
tempfloat := strtofloat(tempstr);
감사합니다. 수고하세요.
문자열의 뒤에3개 문자를 잘라내서 숫자로 변환하시려는건가 본데...
그 3문자중에 숫자가 아닌 문자가 껴 있을 경우 처리하는건가여?
그럼 그 3문자가 숫자인지 아닌지 비교해 주면 될거 같은데요...
(tempstr[1] >= '0') and (tempstr[1] <= '9')
이런 조건이면 숫자겠구.. 아님 숫자가 아니겠져...
숫자가 아니면 '0'으로 채워넣구 2번째 3번째 문자 비교하면 될거같네요..^^;;