std::fixed / std::scientific / std::hexfloat / std::defaultfloat
std::fixed / std::scientific / std::hexfloat / std::defaultfloat (부동소수점 표기 조작자)
부동소수점 출력의 기본 형식을 수정하는 조작자들이에요.
출처: cppreference
본문
<ios> 헤더에 정의돼 있어요.
// (1)
std::ios_base& fixed( std::ios_base& str );
// (2)
std::ios_base& scientific( std::ios_base& str );
// (3) C++11
std::ios_base& hexfloat( std::ios_base& str );
// (4) C++11
std::ios_base& defaultfloat( std::ios_base& str );
부동소수점 출력의 기본 형식을 수정해요.
-
str.setf(std::ios_base::fixed, std::ios_base::floatfield)처럼 스트림str의 floatfield를fixed로 설정해요. 고정 소수점 표기.
-
- floatfield를
scientific으로 설정해요. 과학적 표기.
- floatfield를
-
- floatfield를
fixed | scientific으로 설정해요. 16진수 부동소수점 표기(C++11).
- floatfield를
-
- floatfield를 0으로 재설정해요. 기본 표기로 되돌림(C++11).
defaultfloat 이전의 기본값은 defaultfloat와 동등했어요. 이 조작자들은 형식화 입출력에서 써요.
예제
#include <iostream>
int main()
{
double d = 123.456;
std::cout << std::fixed << d << '\n'; // "123.456000"
std::cout << std::scientific << d << '\n'; // "1.234560e+02"
std::cout << std::defaultfloat << d << '\n'; // "123.456"
}