Q&A

  • 1000단위콤마있는문자열을 float형으로?
제목에서 적은것 처럼....

edit박스에 float형의 변수i를

edit1.text := format('%m',i);

이런식으로(234,000)표현하였읍니다..그런데 이걸다시 float형으로 변환하려는데

어떻게 해야할지...

제발 급합니다..도와주세요......

1  COMMENTS
  • Profile
    황명하 2000.03.22 00:32
    도움받기 wrote:

    > 제목에서 적은것 처럼....

    > edit박스에 float형의 변수i를

    > edit1.text := format('%m',i);

    > 이런식으로(234,000)표현하였읍니다..그런데 이걸다시 float형으로 변환하려는데

    > 어떻게 해야할지...

    > 제발 급합니다..도와주세요......



    뭐.. 다른 훌륭한 방법이 있을지도 모르지만...

    제가 전에 했던 프로젝트에서는요. function을 하나 만들어 사용했습니다.

    지금 회사를 옮기는 바람에 source를 보여드리지는 못하지만

    간략히 설명드리면...



    일단 해당 문자에서 '' 를 없애고 234,000만으로 function을 call 합니다.

    length 를 이용하여 문자의 길이를 구하고, for or while문을 이용하여 loop를

    돌립니다. 위 문자는 7번 돌겠네요.

    copy문으로 문자를 하나씩 떼어낸 후 그것이 ','인지 물어본 후(if)

    skip하던지 아니면 또다른 문자 변수에 move합니다.

    loop가 종료되면 strtoint(문자변수) 하면 땡입니다.



    var

    tmp_char, tmp_target : string;

    i, str_count : integer;

    begin

    str_count := length(param1);

    for i := 1 to str_count do

    begin

    tmp_char := copy(param1, i, 1);

    if tmp_char <> ',' then

    tmp_target := tmp_target + tmp_char;

    next;

    end;

    end;



    뭐 대충 이런 식이죠.

    하다보니 코딩까지 해부렀네 ^ ^;



    도움이 되었으면 좋겠는데....