[C++] 표준 출력 정확도 조정

2021. 3. 30. 12:40 기타/C++

 

표준 출력 시, 실수를 출력할 때 정확도를 조정하는 예제입니다.

#include <iostream>
#include <string>
using namespace std;

int main(void)
{
    streamsize prec = cout.precision(2);
    cout << 0.4252556 << endl;
    cout.precision(prec);

    prec = cout.precision(3);
    cout << 0.4252556 << endl;
    cout.precision(prec);

    prec = cout.precision(4);
    cout << 0.4252556 << endl;
    cout.precision(prec);

    prec = cout.precision(8);
    cout << 0.4252556 << endl;
    cout.precision(prec);
}

 

결과

0.43
0.425
0.4253
0.4252556

 

streamsize는 I/O buffer에서 보내지는 데이터에 대해, 얼마만큼의 값을 나타낼 것인지를 저장하는 변수입니다. cout.precision(n)은 표준 출력이 n만큼의 정확도를 가지도록 조정하는 코드이고 이 메소드의 return값은 원래의 정확도입니다.

 

보시면 소수점 n자리수 에서 값이 반올림되서 나타난다는 것을 어렵지 않게 확인할 수 있습니다. 그리고 다시 원래의 정확도로 돌아가려면 prec의 값을 다시 불러와 조정하면 되죠. cout.precision(prec)가 이 역할을 수행합니다. 



출처: https://engkimbs.tistory.com/47?category=688856 [새로비]

'기타 > C++' 카테고리의 다른 글

[C++] virtual function 동작 방식  (0) 2021.03.30
[C++] lambda 식  (0) 2021.03.30
[C++] vector쓸 시 주의할 점  (0) 2021.03.30
[C++] 시간 측정  (0) 2021.03.30
[C++] 범위 지정 연산자(::)와 namespace  (0) 2021.03.30
[C++] 표준 입출력  (0) 2021.03.30
[C++]템플릿  (0) 2021.03.30
[C++] 클래스 템플릿 사용 Array 클래스 예제  (0) 2019.07.30