[C언어] 소수점 특정 자릿수 반올림하기 - ROUND 함수

예제 모음/C/C++2014. 3. 14. 21:30


※요약

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;
}



※결과


작성자

Posted by 사용자 오뇽

태그

관련 글

댓글 영역