C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[9310] Re:Re:Re: 아하! 그렇군요..
김경식 [falco] 940 읽음    2001-07-25 16:22
흐..  그렇군요...
델파이에서 /, div 를 구분해서 쓰다보니 그런거는 전혀 생각지도 못했군요..
감사합니다.  잘 됩니다.

임선규 님이 쓰신 글 :
: 780*((893-19)/1078);에서
: 가장 먼저하는것은 당연히 빼기고 그다음이 나누기죠..
: 근데 여기서 정수형의 나누기므로 0.XX   이딴값은 없죠..
: 1보다 작으면 무조건 0이 되죠. 그다음에는 곱하나 마나 무조건 0 이겠죠?
: 결과가 제대로 나오게 하려면
: 780*((893-19)/1078.0); 이렇게 하시면 실수형 나누기가 되므로 제대로된 값이 나오겠죠?
: ^^
:
:
: 김경식 님이 쓰신 글 :
: : 괄호가 함부로 들어가면 안 되는군요...  것도 모르고...
: :
: : Temp = 780*((839-19)/1078);
: : Temp = 780*(839-19)/1078; 로 바꾸니까 같은 값이 나오는군요..  역시 초보는 힘들어...
: :
: : 근데, 똑 같은 말인것 같은데 왜 다르죠?  이해가 잘 안되네요..
: :
: : 김경식 님이 쓰신 글 :
: : : 델파이를 빌더로 공부할겸 해서 포팅 중인데요...
: : :
: : : var
: : :   Temp: integer;
: : : begin
: : :   Temp := Round(780*((839-19)/1078));
: : : end;
: : :
: : : 이렇게 되어 있는 델파이 코드에서 Temp 의 값은 593입니다.
: : :
: : : 이걸 빌더로 바꾸면..
: : :
: : : {
: : :   int Temp;
: : :   Temp = 780*((839-19)/1078);
: : :   //  Temp = ceil(780*((839-19)/1078));
: : :   //  Temp = floor(780*((839-19)/1078));
: : : }
: : :
: : : 아무리 해도 Temp는 0입니다.  검색 해 보니 반올림 함수는 없어서 ceil, floor를 쓰라고 되어 있는것 같은데...  도저히 안 되네요..  같은 값이 나오도록 할 수 없을까요?
: : :
: : : 델파이를 하다가 빌더에 막 입문하는 과정이라 모르는게 넘 많군요..  도움을 주십시오.

+ -

관련 글 리스트
9306 [질문] 반올림 방법은요? 김경식 1271 2001/07/25
9308     Re: 제 실수 였군요.. 김경식 1012 2001/07/25
9309         Re:Re: 제 실수 였군요.. 임선규 1083 2001/07/25
9310             Re:Re:Re: 아하! 그렇군요.. 김경식 940 2001/07/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.