C++ 判断string不是数字
时间: 2024-03-15 10:46:20 浏览: 120
可以使用C++标准库中的stoi函数将string类型转换为int类型,如果转换失败则说明该string不是数字。
以下是使用try-catch语句判断string是否为数字的示例代码:
```c++
#include <iostream>
#include <string>
using namespace std;
bool is_number(const string& str) {
try {
int num = stoi(str);
}
catch (const invalid_argument& e) {
return false;
}
return true;
}
int main() {
string str = "123";
if(is_number(str)) {
cout << str << " is a number." << endl;
} else {
cout << str << " is not a number." << endl;
}
return 0;
}
```
其中,`stoi`函数将string类型转换为int类型,如果转换失败则会抛出`invalid_argument`异常,通过捕获该异常,可以判断该string不是数字。
另外,如果要判断string是否为浮点数,则可以使用`stof`函数将string类型转换为float类型,同样通过try-catch语句来判断转换是否成功。
阅读全文