cin, cout 을 사용할 경우 입력은 문제가 없지만 출력의 경우 약간 복잡하다. 두 가지를 알아야 소수점 자리를 고정하여 출력 할 수 있다.
소수점 짤리지 않게 출력하는 방법
하나는 std::fixed, 또 하나는 std::cout.precision() 이다.
| |
일단, precision() 에 대해 말하자면 출력 할 실수 전체 자리수를 n자리로 표현 것이다. 소수점 아래로 n자리만큼 고정하는 것이 아니다.
아래 예시를 보자.
| |
위와 같이 실수 전체에 대한 자리수 표현이다보니 만약 오차범위를 넉넉하게 주려면 precision 의 파라미터를 큰 수로 넘겨주어야 한다.
만약 정수 부분은 신경쓰지 않고 소수점 아래로만 고정하고 싶은 경우는 어떻게 하느냐..
이럴 때 쓰는 것이 fixed 다.
fixed 는 고정 소수점 표기로 만약 fixed를 쓰면 그 다음부터 들어오는 출력들은 소수점 아래로 설정한 precision으로 넘겨준 값 만큼 출력이 된다.
즉, 다음과 같다는 말이다.
| |
위처럼 만약에 fixed를 해제하고 싶다면 cout.unsetf() 에 std::ios::fixed 를 넘겨주면 된다.
![Featured image of post [C/C++] C언어, C++ 소수점 자릿수 조절하기](/post/2022-03-29-cpp-cout-precision/tmp_wordcloud_hu_1110c9244b6bfa08.webp)
![[C/C++] 문자열에서 특정 문자열이 있는지 찾는 방법](/post/2022-01-28-cpp-string-find/tmp_wordcloud_hu_e16bf309192d82ca.webp)
![[C/C++] define 문을 namespace안에 선언하는건 의미가 없다.](/post/2021-07-08-define-in-namespace/tmp_wordcloud_hu_a7a08bef2c13c6a.webp)
![[Linux] btop++ 시스템 리소스 모니터 소개](/post/2022-04-15-btop/tmp_wordcloud_hu_620842d2c6202222.webp)
![[Pair Programming] 페어 프로그래밍 안티 패턴들](/post/2022-03-15-pair-programming-anti-pattern/tmp_wordcloud_hu_c8dd789d2864d773.webp)
![[Macro] EasyLink U2U QMK VIAL 커스텀 모듈](/post/2025-12-10-easylink-u2u-mechanical-keyboard-qmk-vial-review/image01_hu_54454119fc260ca2.webp)