본문 바로가기
CS/코딩테스트(C++)

[C++] fixed와 precision로 소수 특정 자릿수까지 출력하기

by CDCP 2024. 12. 26.

C++에서 cout.precision() 함수와 fixed를 사용하여 출력할 자릿수를 지정할 수 있다.


precision 함수란?

  • 정수 부분을 포함하여 n개의 숫자를 나타냄
  • 실수형의 경우 소숫점 이하 자리수 중 출력 범위를 넘어서는 부분에서 반올림한다. (4자리 출력 시 123.456 → 123.5)
  • fixed와 같이 사용하면 소숫점 이하 출력 자릿수를 고정할 수 있다.
  • fixed를 해제하려면 cout.unsetf(ios::fixed);를 사용.

예)

cout.precision(n);

cout << fixed << db << endl;

cout.unsetf(ios::fixed);


1. 필요한 라이브러리 

#include<iostream>

2. 실수형 변수 선언

double db = 3.14159;

3. 출력 및 자리수 설정

// 기본 출력
cout << db << endl; // 3.14159

// 정수 포함 3자리 출력
cout.precision(3);
cout << db << endl; // 3.14

// 소숫점 이하 3자리 출력 (넷째 자리 값 반올림)
cout << fixed << db << endl; // 3.142

// 소숫점 자릿수 고정 해제
cout.unsetf(ios::fixed); // cout.unsetf(ios::fixed); 도 가능
cout << db << endl; // 3.14

4. 전체 소스 코드

#include <iostream>
using namespace std;

int main()
{
	double db = 3.14159;

	cout << db << endl; // 3.14159

	cout.precision(3);
	cout << db << endl; // 3.14

	cout << fixed << db << endl; // 3.142
	
	cout.unsetf(ios::fixed); // cout.unsetf(ios::fixed); 도 가능
	cout << db << endl; // 3.14

	return 0;
}

참고 자료

https://winterflower.tistory.com/299