如何检查来自cin的输入是否为双倍?

时间:2010-07-17 22:20:28

标签: c++ validation double cin

  

可能重复:
  How to validate numeric input C++
  how do I validate user input as a double in C++?

我需要从命令行获取输入并检查它是否是有效数字...将其存储为double。如果输入无效,我需要继续询问一个数字。

double x;
cout << '>';
cin >> x;


while (/*x is invalid*/){
 cout << "Invalid Input! Please input a number." << endl;
 cout << '>';
 cin >> x;
}

那么如何检查它是否有效?

2 个答案:

答案 0 :(得分:2)

解析字符串并检查是否有数字和0或一个点。 如果不满足这些规则,则只需打印错误消息。

答案 1 :(得分:2)

请参阅“How to validate numeric input in C++” - 已经在网站上提问和回答。