[C/C++]Kiểm tra chuỗi nhập vào có là số không trong C++ – Check string import is number in C++
Có nhiều cách kiểm tra tuy nhiên ở đây ta sử dụng hàm cin.fail()
#include <iostream> using namespace std; int main() { double a; cout<<"nHay nhap vao ki tu a"; cin>>a; if(cin.fail()) cout<<"n Bi loi roi"; else cout<<"nSo vua nhap vao la: "<<a; return 0; }
Ngoài ra cũng có thể dùng:
string line; getline(cin,line); if (atof(line.c_str()) || line == "0") cout<<endl<<atof(line.c_str()); else cout<<"loi";
chào bạn, mình có tham khảo cách viết của bạn. Mình đang tìm hiểu cách kiểm tra số nhập vào có đúng hay không ( tức là không được có chữ cái hoặc kí tự không hợp lệ.
– Khi mình dùng kiểu char để nhập thì lại không biết cách đổi từ char sang double.
– Tham khảo cách của bạn thì có một nhược điểm là nếu nhập: 123bc4 thì kết quả là 123. Có cách nào báo lỗi trường hợp này không?
Bên trên mình có kiểm tra cái fail() đó bạn.
bạn đã xử lí được lỗi này chưa !!