检查字符串中的数字

时间:2014-11-16 13:20:36

标签: c++ string

我正在尝试编写一个函数来检查字符串是否包含数字,正数或负数。

getline(cin,line);

    istringstream sin(line);

    while (sin >> ws >> in){

        if(all_of(in.begin(), in.end(), ::isdigit){
        //do something with number
        }

问题是,isdigit()会将所有负数设置为非数字。 还有哪些方法可以检查字符串是否包含数字?

样本输入:1 2 -2 asdf 4。

1 个答案:

答案 0 :(得分:0)

检查主要字符是-(或+,还是您接受的任何其他内容),如果是,请将其删除,然后使用当前测试确定剩余的内容。< / p>

更全面的解决方案是使用正则表达式。