exe) var p,t:integer; s:string; begin p:=20000; s:=formatfloat('##,##0',p); //s에 20,000으로 변환하고 //다시 s의 문자열 값을 t에 숫자값으로 바꾸어야 하는데 모르겠어요.......... 일주일째 헤메고 있어요.... 오늘은 서울에서 ...
박성훈
•
1999.07.06 17:31
조성윤 께서 말씀하시기를...
> exe)
> var
> p,t:integer;
> s:string;
> begin
> p:=20000;
> s:=...
> exe)
> var
> p,t:integer;
> s:string;
> begin
> p:=20000;
> s:=formatfloat('##,##0',p); //s에 20,000으로 변환하고
> //다시 s의 문자열 값을 t에 숫자값으로 바꾸어야 하는데
> 모르겠어요..........
> 일주일째 헤메고 있어요....
> 오늘은 서울에서 책도 사왔는데 거기에도 없어요...
> 꼭 부탁합니다.
>
> end;
저도 똑같은 질문을 올렸는데 어떤 분이 도움을 주시더군요. 아래 해당함수입니다. 아마 그 분도 양해해 주시리라 생각하면서...
function SearchAndReplace(sSrc, sLookFor, sReplaceWith: string ): integer;
var
nPos,
nLenLookFor : integer;
begin
//문자열에서 제거하고자하는 문자위치를 찾는다.
nPos := Pos(sLookFor, sSrc);
//제거할문자가 있는 곳까지의 길이를 구한다.
nLenLookFor := Length(sLookFor);
while(nPos > 0)do
begin
//제거할 문자를 잘라내서 다시 붙인다
Delete( sSrc, nPos, nLenLookFor );
Insert( sReplaceWith, sSrc, nPos );
nPos := Pos( sLookFor, sSrc );
end;
Result := StrToInt(sSrc);
end;
사용법; edit1.text의 값 20,000에서 콤마를 제거하고자 하면
SearchAndReplace(edit1.text, ',' , '')--->결과값20000