01/10/2018, 13:54
Lệnh setprecision
mình đang thắc mắc về một số trường hợp sau đây (câu lệnh và kết quả in ra console):
cout << setprecision(3) << 1.23456789 << endl; => 1.23
cout << setprecision(3) << 0.123456789 << endl; => 0.123
cout << fixed << setprecision(3) << 1.23456789 << endl; => 1.235
mong mọi người giải thích giùm mình và càng tường tận càng tốt.
Bài liên quan
setprecision(x)
là in ra số thập phân, lấy x chữ số đầu tiên.setprecision(3) << 1.23456789
3 chữ số đầu tiên của 1.23456789 là 123 => in ra 1.23setprecision(3) << 0.123456789
3 chữ số đầu tiên của 0.123456789 cũng là 123 (ko tính số 0) => in ra 0.123setprecision(3) << 0.0123456789
3 chữ số đầu tiên của 0.0123456789 cũng là 123 (ko tính mấy số 0 ở trước) => in ra 0.0123setprecision(3) << 0.0000123456789
3 chữ số đầu tiên của 0.0000123456789 cũng là 123 (ko tính số 0) => in ra 1.23e-05kiểu viết số thập phân 1.23e-05 là kiểu viết scientific, ai học qua phổ thông cũng biết số A vô ga drô 6.023x1023 thì đây chính là nó: 6.023e+23
muốn viết kiểu bình thường thì thêm
fixed
vào:cout << fixed
khi thêm fixed vào rồi thì setprecision(x) lại có nghĩa khác: lấy x số sau dấu . thập phân
Thật sự cảm ơn bạn. Mình đang thắc mắc chỗ này, bạn lại giải thích cực kì rõ ràng và dễ hiểu nữa