소수점을 출력하려면 자료형을 float나 double형으로 설정하면 된다.
하지만 실행시키면 6자리까지만 출력된다.
#include<iostream>
using namespace std;
int main()
{
float f = 24.123456789;
double d = 1.123456789;
cout << f << endl;
cout << d << endl;
}
f각각의 출력값은 24.1235와 1.12346이다.
여기서 만약 6자리 이상을 출력하거나 특정한 자리 수를 직접 설정하고 싶다면 precision(n)를 이용하면 된다. 예를 들어 3자리까지만 출력을 하고 싶다면 cout.precision(3)을 하면 된다.
#include<iostream>
using namespace std;
int main()
{
float f = 24.123456789;
double d = 1.123456789;
cout.precision(3);
cout << f << endl;
cout << d << endl;
}
24.1와 1.12가 출력이 된다.
그러면 만약 소수점으로 부터 특정한 자리 수를 정하고 싶다면 fixed를 함께 사용하면 된다. fixed는 소수점을 고정시키는 역할을 하고 precision에서 정한 자리 수까지의 소수점을 출력해준다. 하지만 주의해야 할 점은 반올림까지 한다는 것이다. 아래 코드를 통해 확인해보자.
#include<iostream>
using namespace std;
int main()
{
float f = 24.123456789;
double d = 1.123456789;
cout.precision(8);
cout << fixed;
cout << f << endl;
cout << d << endl;
}
f는 24.12345695, d는 1.1234569이라는 값이 출력된다.
즉, 정리하면
cout.precision(n) {n : 자리 수} --> n까지의 자리 수가 출력된다.
cout << fixed --> 소수점을 고정시킨다. precision 함수와 같이 사용되면 소수점으로부터 n까지의 자리 수가 반올림되어서 출력된다.