Q&A

  • 델파이에서 실수형을 정수형으로 바꾸는데 사용하는 함수를 가르쳐 주세요??? 급합니다.
예) 델파이에서 실수형을 정수형으로 바꾸는데 소숫점 첫째자리에서

0.5미만은 버리고 0.5이상을 반올림하는 함수를 알고십습니다.

갈카주세요??? 부탁입니다. 내 모가지가 걸린 문제라서요???

4  COMMENTS
  • Profile
    한하눌 2000.10.28 05:24
    깔삼이 wrote:

    > 예) 델파이에서 실수형을 정수형으로 바꾸는데 소숫점 첫째자리에서

    > 0.5미만은 버리고 0.5이상을 반올림하는 함수를 알고십습니다.

    > 갈카주세요??? 부탁입니다. 내 모가지가 걸린 문제라서요???

    저두 앤날에 똑같은걸루 애먹었는데. ..

    함수는 round가 있는데 이녀석은 1.5 는 2, 2.5는 2로 아주 잘(?) 변환을 하죠?



    그래서 저는 이런편법을 사용했습니다.



    intvar := StrToInt(formatfloat('0',dblvar));





  • Profile
    깔삼이 2000.10.28 17:45
    한하눌 wrote:

    > 깔삼이 wrote:

    > > 예) 델파이에서 실수형을 정수형으로 바꾸는데 소숫점 첫째자리에서

    > > 0.5미만은 버리고 0.5이상을 반올림하는 함수를 알고십습니다.

    > > 갈카주세요??? 부탁입니다. 내 모가지가 걸린 문제라서요???

    > 저두 앤날에 똑같은걸루 애먹었는데. ..

    > 함수는 round가 있는데 이녀석은 1.5 는 2, 2.5는 2로 아주 잘(?) 변환을 하죠?

    >

    > 그래서 저는 이런편법을 사용했습니다.

    >

    > intvar := StrToInt(formatfloat('0',dblvar));

    >

    > 고맙습니다..저두지금 round함수 때문에 큰일이 날뻔했습니다.

    한하눌님방법으로 해봐야겠네요..아직 제가 초보라서...^*^

    오늘 하루 행복하시길...!

  • Profile
    강호규 2000.10.28 05:21
    깔삼이 wrote:

    > 예) 델파이에서 실수형을 정수형으로 바꾸는데 소숫점 첫째자리에서

    > 0.5미만은 버리고 0.5이상을 반올림하는 함수를 알고십습니다.

    > 갈카주세요??? 부탁입니다. 내 모가지가 걸린 문제라서요???



    제가 아는 방법은

    실수 --> 반올림 --> 문자 --> 정수로 변환하는 방법입니다.



    procedure TForm1.Button1Click(Sender: TObject);

    var

    RealVar: Real;

    IntVar1,IntVar2: Integer;

    begin

    RealVar := 123.123;

    IntVar1 := StrToInt(FloatToStr(Round(RealVar)));

    RealVar := 123.678;

    IntVar2 := StrToInt(FloatToStr(Round(RealVar)));

    ShowMessage('IntVar1='+IntToStr(IntVar1)+#10+'IntVar2='+IntToStr(IntVar2))

    end;



  • Profile
    깔삼이 2000.10.28 17:48
    강호규 wrote:

    > 깔삼이 wrote:

    > > 예) 델파이에서 실수형을 정수형으로 바꾸는데 소숫점 첫째자리에서

    > > 0.5미만은 버리고 0.5이상을 반올림하는 함수를 알고십습니다.

    > > 갈카주세요??? 부탁입니다. 내 모가지가 걸린 문제라서요???

    >

    > 제가 아는 방법은

    > 실수 --> 반올림 --> 문자 --> 정수로 변환하는 방법입니다.

    >

    > procedure TForm1.Button1Click(Sender: TObject);

    > var

    > RealVar: Real;

    > IntVar1,IntVar2: Integer;

    > begin

    > RealVar := 123.123;

    > IntVar1 := StrToInt(FloatToStr(Round(RealVar)));

    > RealVar := 123.678;

    > IntVar2 := StrToInt(FloatToStr(Round(RealVar)));

    > ShowMessage('IntVar1='+IntToStr(IntVar1)+#10+'IntVar2='+IntToStr(IntVar2))

    > end;

    >





    답변에 대단히 고맙습니다

    제가 round함수때문에 모르고 썼다가 애를 먹었거든요..

    이게 0.5는 1로 1.5는 2로 2.5는 2로 히한한 함수더라고요

    그래서...이제 알게되었습니다

    대단히 고맙습니다.부디 행복하시길..바랍니다.!