Trong C++, kích thước của kiểu số thực là 4 byte (float) hoặc 8 byte (double). Do đó, chúng chỉ có thể lưu trữ được một số chữ số thập phân nhất định. Ví dụ, 1/3 = 0.333333... kéo dài vô tận. Nếu lưu vào biến kiểu float, nó sẽ chỉ giữ lại một số chữ số có ý nghĩa. Giá trị mặc định là 6 chữ số. Vì vậy, thường thì số thực trong C++ hiển thị tối đa 6 chữ số thập phân.
Chúng ta có thể thay đổi độ chính xác hiển thị bằng hàm setprecision nằm trong thư viện <iomanip>. Hãy xem ví dụ sau để hiểu rõ hơn.
Ví dụ minh họa
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double x = 2.3654789;
cout << "In 3 chữ số thập phân: " << setprecision(3) << x << endl;
cout << "In 2 chữ số thập phân: " << setprecision(2) << x << endl;
cout << "In 7 chữ số thập phân: " << setprecision(7) << x << endl;
}Kết quả
In 3 chữ số thập phân: 2.365 In 2 chữ số thập phân: 2.37 In 7 chữ số thập phân: 2.3654789