我正在尝试编写一个函数来检查字符串是否包含数字,正数或负数。
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。
答案 0 :(得分:0)
检查主要字符是-
(或+
,还是您接受的任何其他内容),如果是,请将其删除,然后使用当前测试确定剩余的内容。< / p>
更全面的解决方案是使用正则表达式。