Cho mình hỏi là sao khi mình nhập n=7.2019 thì khi xuất ra lại là 7.201900005 vậy ạ, có cách nào để khắc phục không ạ?
printf("Nhap so n can chuyen doi:");
scanf("%f",&n);
printf(" %.9f ",n);
Cho mình hỏi là sao khi mình nhập n=7.2019 thì khi xuất ra lại là 7.201900005 vậy ạ, có cách nào để khắc phục không ạ?
printf("Nhap so n can chuyen doi:");
scanf("%f",&n);
printf(" %.9f ",n);
Có một điều bạn phải lưu ý khi sử dụng kiểu số thực trong C/C++ (và các ngôn ngữ tương tự) nha.
Không chỉ ở dải biểu diễn mà bạn còn phải để ý đến độ chính xác của từng kiểu số thực trong C/C++. Ví dụ:
Mà cũng liệt kê hết mất r. 
Do đó bạn chỉ có thể biểu diễn chính xác 6 chữ số thập phân sau dấu phảy thôi, cho nên số 5 có thể gọi là rác.
Còn nếu bạn vẫn muốn dùng %.9f thì bạn phải sửa thành kiểu double hoặc long double. (Và nhớ sửa %f thành %lf or %llf
)
Mình cảm ơn 
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?