Xin các bác cho so_0 hỏi là làm thế nào để hiển thị một số thập phân có đúng n chữ số sau dấu phẩy? Chẳng hạn
Code:
double A = 10.1232314579043;
double B = 0.0517629125;
Ta cần làm thế nào để có thể hiển thị đúng số chữ số thập phân có sau dấu phẩy của cả A và B??
so_0 thử dùng setprecision thì thấy không hiệu quả lắm, vì có phần lẻ "tự thêm vô
" như thế này:
A. Nếu
Code:
cout << setprecision(15);
cout << " A = " << A << '\n';
cout << " B = " << B << '\n';
thì kết quả là
Code:
A = 10.1232314579043
B = 0.0517629125
//OK
B. Bây giờ nếu có thêm một số là double C = 143.134571937200713 thì làm sao mình có thể hiển thị hết phần thập phân của C một cách tổng quát nhất, tức là, một số C bất kỳ
, đồng thời phần thập phân của A, B không thay đổi, nếu có, chỉ thêm vào chuỗi các số 0. Và ở đây, nếu so_0 chọn setprecision(18) thì kết quả gặp tình trạng "không mời mà đến" (đối với trình độ hạn hẹp của so_0 mà nói)
Code:
cout << setprecision(18);
cout << " A = " << A << '\n';
cout << " B = " << B << '\n';
cout << " C = " << C << '\n';
Kết quả:
Code:
A = 10.1232314579042999
B = 0.0517629125000000009
C = 143.134571937200718
Nếu thay setprecision(n) bởi n > 18 thì kết quả càng "lạ" hơn.
Có cách nào để có
Code:
A = 10.1232314579043; //hoặc A = 10.1232314579043000000 -- chuỗi số 0 được thêm vào
B = 0.0517629125;
C = 143.134571937200713
Mong các bác giúp so_0 tìm cách giải quyết câu hỏi. So_0 đang sử dụng BC++ 5.02