如何验证输入仅是数字数字

How can I validate the input is only number digit?

本文关键字:数字 输入 验证 何验证      更新时间:2023-10-16

我不会检查年龄在此示例中是否是数字,它将接受1E作为数字,而它不接受E1,我不接受Digit
没有任何符号或字母

 int main()
    {
      int age= 0;
        std::cin >> age; 
        if (std::cin.fail())
        {
        std::cout << "I failed, try again ..." << std::endl;
        std::cin.clear(); // reset the failed state
    }

真正的CIN,提取操作员对解析用户输入不利。它们可以自动输入自动格式的记录,但输入可能会在其中有免费的形式错误。

如果使用基于行的输入,请调用函数strtol(),您可以找到数字。strtol()还处理太大而无法适合整数的符号和数字。从本质上讲,这是安全的整数解析器。另外,错误时,您可以轻松丢弃整个行并要求用户重新输入,这通常是所需的行为。