Q&A

  • 완전기초 질문입니다...
델왕초보입니다..

아니 프로그램 완전초보입니다..



real형과 integer형을 이용해 계산을 구해야 하는데요..

제가

cost:integer;

dis_rate:real;

로 해서



discount:=cost*dis_rate;

이렇게 입력했는데 이렇게 해도 계산이 나오나요?



discount는 integer로 지정했습니다..



부탁드려요.. 고수님들...

2  COMMENTS
  • Profile
    강인규 2000.08.04 04:21
    integer라면 소수점은 포기하시는건가요?



    discount:=trunc(cost*dis_rate);

    이렇게 하심 됩니다.



    반올림이라면...

    discount:=round(cost*dis_rate);

    하심 되겠군요.

    trunc는 버림, round는 반올림 입니다. 질문하신분을 너무 무시한거 아닌가 모르겠네요.



    즐프하세여. ^^



    델왕초보 wrote:

    > 델왕초보입니다..

    > 아니 프로그램 완전초보입니다..

    >

    > real형과 integer형을 이용해 계산을 구해야 하는데요..

    > 제가

    > cost:integer;

    > dis_rate:real;

    > 로 해서

    >

    > discount:=cost*dis_rate;

    > 이렇게 입력했는데 이렇게 해도 계산이 나오나요?

    >

    > discount는 integer로 지정했습니다..

    >

    > 부탁드려요.. 고수님들...

  • Profile
    mulder 2000.08.04 04:10


    초보에서 중급으로 올라가려는 사람인데요...



    그렇게 하면 에러나옵니다. C같은 경우는 리얼형을 뒤에 잘라버리고 정수형으로



    바꾸지만, 델파이에서는 형태를 철저히 지킵니다. 그래서 다른 형끼리는 절대



    호환이 안 됩니다. 님께서 계산하시려고 하는 것은 이렇게 해야 됩니다.



    discount:=cost*Round(dis_rate);



    하고 해야 합니다. Round함수는 다른 형을 정수형으로 만들어 주는데 반올림을



    합니다. Trunc도 있는데 이것은 아마 버림을 할 겁니다.