※요약
C언어나 C++ 등에서 소수점 특정 자릿수 반올림하는 방법입니다. 매크로 함수와 일반 함수 2가지로 구현되어 있으며, 다른 곳에서 사용할 땐 원하는 함수만 복사해서 쓰면 됩니다.
※예제
#include <stdio.h>
#include <cmath>
#define ROUNDING(x, dig) ( floor((x) * pow(float(10), dig) + 0.5f) / pow(float(10), dig) )
double Rounding( double x, int digit )
{
return ( floor( (x) * pow( float(10), digit ) + 0.5f ) / pow( float(10), digit ) );
}
int main( )
{
printf( "%g\n", ROUNDING( 9.3453456, 3 ) );
printf( "%g\n", Rounding( 9.3453456, 3 ) );
printf( "%g\n", ROUNDING( 9.3453456, 5 ) );
printf( "%g\n", Rounding( 9.3453456, 5 ) );
return 0;
}
※결과
'예제 모음 > C/C++' 카테고리의 다른 글
| [C++11] 원 안에만 점 찍기 (0) | 2014.09.02 |
|---|---|
| [C언어] rand 함수를 이용한 로또 프로그램 (1) | 2014.04.08 |
| [C언어] 재귀 함수 - 10진수 -> 2진수 변환 (1) | 2014.03.20 |
| [C언어] 어떤 수 x가 2의 n승인지 판별하는 함수 (0) | 2014.03.13 |
| [C언어] 재귀 함수 - 이진 탐색 (Binary Search) (0) | 2013.12.05 |
| [C언어] 재귀 함수 - 거듭제곱 (power) (3) | 2013.12.05 |
| [C언어] 재귀 함수 - 팩토리얼 (Factorial) (3) | 2013.12.05 |