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
[72849] Re:double 값 비교 if 문 해결이 않됩니다.
아제나 [azena] 4365 읽음    2015-07-09 18:29

구문 오류를 찾을 수 없네요.

프로젝트 옵션에서 Floating Point 관련 옵션을 꺼놓은게 아닌지 확인해보세요.

C++빌더 2006 에서 컴파일 해보니까 정상적으로 컴파일되고 동작도 되는군요.






왕초보 님이 쓰신 글 :
: C++builder 2009 , win8 64bit
:
: ---------------------------------------------------
:
:
:  double x = -3.5;
:
:    if(x > -2.0 )   // error   Invalid floating point operation  ,
:    {
:      ShowMessage("x > -2.0");
:    }
:    else if (x <= -2.0 || x > -3.0 )
:    {
:      ShowMessage("test x <= -2.0 || x > -3.0");
:    }
:    else if (x >= -3.0)
:    {
:      ShowMessage("x >= -3.0");
:    }
:
:
: 어떻게 수정해야 되나요.
:
: -----------------------------------------------------------------
: #include <math.h >
: #define EPSILON 0.00001
:
: 아래 함수를 이용해 봤는데 메시지가 같이 나서 어디 부분이 문제인지 알 수가 없습니다.
: bool AreSame(double a, double b)
: {
:     return fabs(a - b) < EPSILON;  //  Invalid floating point operation 
: }
: //---------------------------------------------------------------------------
: bool CompareDoubles2 (double A, double B)
: {
:    double diff = A - B;   //  Invalid floating point operation 
:    return (diff < EPSILON) && (-diff < EPSILON);  
: }
:

+ -

관련 글 리스트
72842 double 값 비교 if 문 해결이 않됩니다. 왕초보 4071 2015/07/08
72849     Re:double 값 비교 if 문 해결이 않됩니다. 아제나 4365 2015/07/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.