C++ 올림, 내림, 반올림 ceil, floor, round 사용 방법

C++에서 올림내림반올림을 하는 방법을 알아보겠습니다.

올림과 내림을 할 때 사용하는 함수로 ceil와 floor가 있습니다.

그리고 반올림을 할 때는 round를 사용합니다.

  •  ceil() – 올림
  •  floor() – 내림
  •  round() – 반올림

 

C++에서는 include를 cmath로 해줘야 합니다.

 

ceil() 올림

올림을 할 때 사용하는 ceil 함수 사용 방법을 알아보겠습니다.

ceil 함수의 작성 방법을 먼저 보겠습니다.

ceil(값)

 

샘플 소스를 보겠습니다.

#include<iostream>
#include<cmath>

using namespace std;

int main(int argc, char *argv[]) {

    double    val1 = 3.1;  // double
    float     val2 = 6.9;  // float

    printf("double : %2.8f\n", ceil(val1));
    printf("float : %2.8f\n", ceil(val2));
}

 

결과

double : 4.00000000
float : 7.00000000

 

ceil 함수를 통해 값을 올림해 출력이 되었습니다.

 

floor() 내림

내림을 할 때 사용하는 floor 함수 사용 방법을 알아보겠습니다.

floor 함수 작성 방법을 보겠습니다.

floor(값)

 

샘플 소스를 보겠습니다.

#include<iostream>
#include<cmath>

using namespace std;

int main(int argc, char *argv[]) {

    double    val1 = 3.1;  // double
    float     val2 = 6.9;  // float

    printf("double : %2.8f\n", floor(val1));
    printf("float : %2.8f\n", floor(val2));
}

 

결과

double : 3.00000000
float : 6.00000000

 

floor 함수를 통해 값을 내림해 출력이 되었습니다.

 

round 반올림

반올림을 할 때 사용하는 함수로 round를 살펴보겠습니다.

round 함수 작성 방법을 보겠습니다.

round(값)

 

round 함수는 C++ 11부터 사용이 가능합니다.

샘플 소스를 보겠습니다.

#include<iostream>
#include<cmath>

using namespace std;

int main(int argc, char *argv[]) {

    double    val1 = 3.1;  // double
    float     val2 = 6.9;  // float

    printf("double : %2.8f\n", round(val1));
    printf("float : %2.8f\n", round(val2));
}

 

결과

double : 3.00000000
float : 7.00000000

 

값이 반올림되어 결과가 출력되었습니다.

round 함수는 버전 11부터 사용이 가능합니다.

11 이전 버전에서는 내림 함수인 floor를 사용해 반올림 처리를 할 수 있습니다.

 

샘플 소스를 보겠습니다.

#include<iostream>
#include<cmath>

using namespace std;

int main(int argc, char *argv[]) {

    double    val1 = 3.1;  // double
    float     val2 = 6.9;  // float

    printf("double : %2.8f\n", floor(val1 + 0.5));
    printf("float : %2.8f\n", floor(val2 + 0.5));
}

 

결과

double : 3.00000000
float : 7.00000000

 

샘플 소스를 보면 반올림하고 싶은 값에 0.5를 더합니다.

0.5를 더하고 floor 함수를 사용해 내림을 하면 반올림 처리가 가능해집니다.

val1 변수 값인 3.1을 반올림하면 3이 됩니다.

3.1에 0.5를 더하게 되면 3.6이 되고 내림을 하게 되면 3이 됩니다.

val2 변수 값인 6.9를 반올림하면 7이 됩니다.

6.9에 0.5를 더하면 7.4가 되고 내림을 하게 되면 7이 되는 형식입니다.

댓글