c 에서 출력할 경우 printf 함수를 통해 부동소수점 출력 정밀도를 정의 가능하다.
이와 동일한 기능을 cout을 이용 할 경우 필요한 함수에 대해 정리.
우선 관련 함수를 사용하기 위해서 iomanip 헤더를 include.
std::setprecision() : c++ 에서 출력 자리수 제한을 위해 사용
단 이 함수의 경우 소수점 아래 출력 정밀도 제어가 아닌 전체 출력 자리수를 제한한다.
이 함수를 사용하기전에 기본정밀도를 저장 해 두고 사용 후에는 원복 해 주자.
std::fixed : 소수점 이하 자리수를 제한하기 위해 setprecision과 함께 사용된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <iomanip> float f = 103.141592653; std::streamsize prec = std::cout.precision(); // 기본 정밀도 저장 std::cout << std::setprecision(4) << f << "\n"; // 출력값은 103.1 std::cout << std::fixed << std::setprecision(4) << f << "\n"; // 출력값은 103.1416 // setprecision 처리할때 출력 자리 이하에서 반올림 처리 std::cout << std::setprecision(prec) << f << "\n\n"; // 출력값은 103.141593 | cs |
'Programming > C, C++, MFC' 카테고리의 다른 글
CStdioFile 을 이용한 파일 입출력에서 내용이 깨질경우 (0) | 2019.07.09 |
---|---|
Unicode 환경에서 한글이 깨질경우 해결방법 (0) | 2019.03.11 |
메모리 동적할당 예시 (0) | 2018.04.18 |
cin 의 버퍼를 지워보자 (3) | 2017.11.21 |
'제약 조건과 일치하는 올바른 내보내기를 찾을 수 없습니다' 해결방법 (0) | 2017.10.16 |