Rate this post

setprecision là một hàm của thư viện iomanip trong C++ dùng để đặt số lượng chữ số thập phân khi in ra màn hình hoặc ghi vào file.

Các bài viết liên quan:

Ví dụ:

#include <iostream>
#include <iomanip>

using namespace std;

int main() {
   double pi = 3.14159265358979323846;
   cout << setprecision(5) << pi << endl;
   cout << setprecision(10) << pi << endl;
   return 0;
}

Kết quả sẽ là :

3.1416
3.1415926536

Hàm setprecision chỉ áp dụng cho lần ghi tiếp theo, nếu muốn sử dụng cho nhiều lần ghi, ta có thể sử dụng hàm fixed hoặc scientific cùng với setprecision.

cout << fixed << setprecision(5) << pi << endl;
cout << scientific << setprecision(5) << pi << endl;

fixed sẽ in ra giá trị với dạng thập phân cố định, trong khi scientific sẽ in ra giá trị với dạng scientific notation.

Chú ý rằng khi sử dụng setprecision thì nó chỉ áp dụng cho việc in ra giá trị dạng thập phân của một số, nó không ảnh hưởng tới giá trị của số đó.

Đúng, setprecision chỉ áp dụng cho việc in ra hoặc ghi ra giá trị dạng thập phân của một số, nó không ảnh hưởng đến giá trị của số đó. Nó chỉ giúp chúng ta đặt số lượng chữ số thập phân muốn hiển thị cho giá trị đó.

Các hàm fixedscientific cũng tương tự như vậy, chúng chỉ áp dụng cho việc in ra hoặc ghi ra giá trị dạng thập phân của một số, chúng không ảnh hưởng tới giá trị của số đó. Chúng chỉ giúp chúng ta chọn dạng in ra giá trị thập phân (fixed hoặc scientific notation) mà chúng ta muốn.

Cả 3 hàm này đều sử dụng cùng với hàm cout để in ra giá trị, và có thể sử dụng cùng với hàm ofstream để ghi ra file.

Ngoài ra có thể sử dụng printf hoặc fprintf để in ra giá trị với số chữ số thập phân cần thiết.

printf("%.5f", pi);

Trong đó %.5f là định dạng chuẩn cho việc in ra giá trị thập phân với 5 chữ số thập phân.

Một số ví dụ setprecision trong c++

Ví dụ 1: Sử dụng hàm setprecision để in ra giá trị Pi với 5 chữ số thập phân:

double pi = 3.14159265358979323846;
cout << setprecision(5) << pi << endl;

Ví dụ 2: Sử dụng hàm fixedsetprecision để in ra giá trị Pi với 10 chữ số thập phân:

double pi = 3.14159265358979323846;
cout << fixed << setprecision(10) << pi << endl;

Ví dụ 3: Sử dụng hàm scientificsetprecision để in ra giá trị Pi với 3 chữ số thập phân:

double pi = 3.14159265358979323846;
cout << scientific << setprecision(3) << pi << endl;

Ví dụ 4: Sử dụng hàm printf để in ra giá trị Pi với 5 chữ số thập phân:

double pi = 3.14159265358979323846;
printf("%.5f", pi);

Ví dụ 5: Sử dụng hàm setprecision để in ra giá trị của một biến kiểu float với 3 chữ số thập phân:

float value = 123.456;
cout << setprecision(3) << value << endl;

Ví dụ 6: Sử dụng hàm setprecision để in ra giá trị của một biến kiểu double với 7 chữ số thập phân:

double value = 123.4567890;
cout << setprecision(7) << value << endl;

Ví dụ 7: Sử dụng hàm setprecision để in ra giá trị của một hằng số kiểu long double với 15 chữ số thập phân:

long double value = 3.14159265358979323846;
cout << setprecision(15) << value << endl;

Ví dụ 8: Sử dụng hàm setprecision để in ra giá trị của một hằng số kiểu double với 2 chữ số thập phân và dùng hàm fixed

double value = 3.14159265358979323846;
cout << fixed << setprecision(2) << value << endl;

Ví dụ 9: Sử dụng hàm setprecision để in ra giá trị của một biến kiểu int với 1 chữ số thập phân:

int value = 123;
cout << setprecision(1) << value << endl;

Ví dụ 10: Sử dụng hàm setprecision để in ra giá trị của một biến kiểu long với 4 chữ số thập phân:

long value = 123456;
cout << setprecision(4) << value << endl;

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now