Q&A

  • formatfloat()의 문자형을 정수의 숫자형으로?
exe)

var

p,t:integer;

s:string;

begin

p:=20000;

s:=formatfloat('##,##0',p); //s에 20,000으로 변환하고

//다시 s의 문자열 값을 t에 숫자값으로 바꾸어야 하는데

모르겠어요..........

일주일째 헤메고 있어요....

오늘은 서울에서 책도 사왔는데 거기에도 없어요...

꼭 부탁합니다.



end;

1  COMMENTS
  • Profile
    박성훈 1999.07.06 17:31
    조성윤 께서 말씀하시기를...

    > 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