C++判断字符串是数字
时间: 2023-11-04 17:18:15 浏览: 144
C#判断一个字符串是否是数字或者含有某个数字的方法
5星 · 资源好评率100%
可以使用C++标准库中的函数`isdigit()`来判断字符串中的每个字符是否为数字。另外,还可以使用C++11中的`std::stoi()`函数将字符串转换为整数,如果字符串不是数字,则会抛出异常。
下面是使用`isdigit()`函数的示例代码:
```c++
#include <iostream>
#include <cstring>
#include <cctype>
using namespace std;
bool isNumber(const string& str)
{
for (char c : str)
{
if (!isdigit(c))
{
return false;
}
}
return true;
}
int main()
{
string str1 = "123";
string str2 = "abc";
if (isNumber(str1))
{
cout << str1 << " is a number." << endl;
}
else
{
cout << str1 << " is not a number." << endl;
}
if (isNumber(str2))
{
cout << str2 << " is a number." << endl;
}
else
{
cout << str2 << " is not a number." << endl;
}
return 0;
}
```
输出结果为:
```
123 is a number.
abc is not a number.
```
另外,使用`std::stoi()`函数的示例代码如下:
```c++
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str1 = "123";
string str2 = "abc";
try
{
int num1 = stoi(str1);
cout << num1 << endl;
int num2 = stoi(str2);
cout << num2 << endl;
}
catch (const invalid_argument& e)
{
cout << "Error: " << e.what() << endl;
}
return 0;
}
```
输出结果为:
```
123
Error: stoi
```
阅读全文