thể trùng lặp:
how do I validate user input as a double in C++?C++, làm thế nào để xác minh là dữ liệu đầu vào là các kiểu dữ liệu đúng
Tôi mới đến C++, và tôi có một chức năng trong đó tôi muốn người dùng nhập giá trị double
. Làm thế nào tôi sẽ đi về bảo đảm rằng đầu vào giá trị là của datatype chính xác? Ngoài ra, lỗi sẽ được xử lý như thế nào? Hiện tại, tất cả những gì tôi có:
if(cin >> radius){}else{}
Tôi sử dụng `try {} catch() {}, nhưng tôi nghĩ đó không phải là giải pháp phù hợp cho vấn đề này. Bất kỳ trợ giúp sẽ được đánh giá cao.
Điều này hoạt động khá tốt: http://www.parashift.com/c++-faq/istream-and-ignore.html – chris
đọc dưới dạng chuỗi và phân tích bằng cách sử dụng regex. – rplusg