본문 바로가기

소수점

[C언어] printf를 이용해 소수점 이하 자릿수 설정하기 ※ 요약 C언어의 printf를 이용하여 float형이나 double형을 출력할때 소수점 이하 자릿수를 조절해서 출력하는 방법에 대한 글이다. C언어의 printf를 이용하여 자릿수를 정할 때는 보통 printf( "%.2f\n", 3.141592 );와 같이 자릿수를 설정하면 런타임 때 자릿수를 바꿀 수 없지만 이번에 포스팅하는 방법으로는 런타임 때도 자릿수를 바꿀 수 있어 좀 더 유연하게 출력이 가능하다.C++의 cout도 궁금하다면 부동 소수점의 출력 정밀도 설정을 참고하기 바란다. ※ 소스코드 소스코드는 딱히 설명이 필요없을 정도로 간단하다. 필자는 예제를 위해 아래처럼 Print함수를 제작하였고, 필요에 따라 자릿수를 변경하여 출력하도록 하였다. 참고로 인자로 받을때 레퍼런스로 받도록 &를 붙였.. 더보기
[C언어] 소수점 특정 자릿수 반올림하기 - ROUND 함수 ※요약C언어나 C++ 등에서 소수점 특정 자릿수 반올림하는 방법입니다. 매크로 함수와 일반 함수 2가지로 구현되어 있으며, 다른 곳에서 사용할 땐 원하는 함수만 복사해서 쓰면 됩니다. ※예제 #include #include #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 ) ).. 더보기