cout을 써서 출력할 때 `double`전체를 프린트하고 싶어요
조회수 14371회
제가 밑의 소스코드를 실행하면
3.14159265358979
가 아니라 3.14159
로 나오는데
이렇게 소수점에서 반올림한 거 말고
전체 값이 다 나오게 하려면 어떻게 해야 되돼나요?
소스코드
int main(){
double d = 3.14159265358979;
cout << d << endl;
}
1 답변
-
std::cout
에서 소수점 몇 번째까지 출력할지를 설정한 뒤std::fixed
format specifier를 쓸 수 있습니다int main(){ double d = 3.14159265358979; cout.precision(11); cout << fixed << d << endl; }
결과 :
3.14159265359
하나도 남기지 않고 다 출력하고 싶다면
<limits>
에서 최대 몇 번째 소수점까지 지원하는지 나와있습니다.#include <limits> typedef std::numeric_limits< double > dbl; int main(){ double d = 3.14159265358979; cout.precision(dbl::max_digits10); cout << fixed << d << endl; }
결과 :
3.14159265358979001
댓글 입력