• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

cout double 출력

21.03.06 12:25 작성 조회수 297

0

cout으로 double형 변수를 출력하면 왜 6자리까지 안나오나요?

printf("%lf")로 하면 소수점 6자리까지 출력이돼요.

cout.precision()을 쓸 수 없는 상황에서 double형 정수를 소수점 6자리까지 출력하려면 어떻게 해야하나요?

답변 1

답변을 작성해보세요.

0

안소님의 프로필

안소

2021.03.06

그저 cout과 printf의 특성 차이일 뿐입니다. cout은 원래 그 자체의 값으로 출력을 합니다. 4.0000 은 사실 4 와 같죠. 4.2 또한 그 자체로 4.2이기 때문에 4.2를 출력합니다. 그러나 printf 는 기본적으론 실수를 출력할 때 소수점 6자리까지 출력합니다. 그래서 4.2를 출력할때 4.200000 를 출력한 것을 확인할 수 있습니다. 

그래서 cout으로 정밀도 조절하여 출력하려면 cout.precision() 같은 것을 불가피하게 사용하셔야 합니다. 어차피 cout 과 같은 <iostream> 인클루딩으로 사용할 수 있기 때문에 정밀도 조절 함수 사용하지 말라는 지시 같은게 있는거 아닌 이상 그냥 편하게 사용하시면 될 것 같습니다.

그리고 다음에 질문 주실 땐 관련 강의 혹은 태그를 꼭 기재해주실 것을 부탁드립니다! 관련 강의 탭에서 질문 주시면 됩니다.