C/C++에서는 반올림하는 함수를 제공하지는 않습니다.

다만 올림함수인 ceil()과 버림함수인 floor()만을 제공하는데 그것을 이용하여 반올림하는

함수를 작성하여야 합니다.

ceil()과 floor()의 manual page는 아래와 같습니다. Window Program에서도 같이 적용됩

니다.

          CEIL(3)             Linux Programmer's Manual             CEIL(3)

          이름
                 ceil - x 보다 작지 않은 가장 작은 정수 값

          사용법
                 #include

                 double ceil (double x);

          설명
                 ceil()  함수는 x를 위쪽의 가장 가까운 정수로 라운딩시키고,
                 double로 그 값을 반환한다.

          호환
                 SVID 3, POSIX, BSD 4.3, ISO 9899

          관련 항목
                 abs(3), fabs(3), floor(3), labs(3), rint(3)



          FLOOR(3)             리눅스 프로그래머 매뉴얼            FLOOR(3)

          이름
                 floor - x보다 크지 않은 가장 큰 정수 값

          사용법
                 #include

                 double floor(double x);

          설명
                 floor()  함수는 x를 아래쪽의 가장 가까운 정수로 라운딩시키
                 고 double로 그 값을 반환한다.

          호환
                 SVID 3, POSIX, BSD 4.3, ISO 9899

          관련 항목
                 abs(3), fabs(3), ceil(3), rint(3)



위의 두 함수를 이용한 반올림하는 함수를 작성하여 보면,

/* value는 반올림하고자 하는 실수값 */

/* pos는 반올림하고자 하는 소수점 자리수 */

double round( double value, int pos )

{

      double temp;

      temp = value * pow( 10, pos );  // 원하는 소수점 자리수만큼 10의 누승을 함

      temp = floor( temp + 0.5 );          // 0.5를 더한후 버림하면 반올림이 됨

      temp *= pow( 10, -pos );           // 다시 원래 소수점 자리수로

      return temp;

 

'COMPUTER TECH > C, C++' 카테고리의 다른 글

C/C++에서는 반올림하는 함수!!  (0) 2010.08.13
벡터 어뎁터 만들기  (0) 2010.08.13
include 하는 방법의 예  (0) 2010.08.13
set STL, map STL  (0) 2010.08.13
간단한 코드  (0) 2010.08.13
연결리스트 <더미 無>  (0) 2010.08.12
Posted by ... XJAPAN

댓글을 달아 주세요