判断string不是数字
时间: 2024-03-15 12:46:18 浏览: 17
可以通过以下方法判断一个string不是数字:
1. 使用try-catch语句,将string转换成数字类型,如果转换失败则说明该string不是数字。
2. 使用正则表达式,判断该string是否符合数字的格式,如果不符合则说明该string不是数字。
例如,以下是使用正则表达式判断string是否为数字的示例代码:
```python
import re
def is_number(string):
pattern = r'^[-+]?[0-9]*\.?[0-9]+$'
return bool(re.match(pattern, string))
```
其中,正则表达式`r'^[-+]?[0-9]*\.?[0-9]+$'`表示:
- `^`:表示字符串的开始。
- `[-+]?`:表示可选的正负号。
- `[0-9]*`:表示0个或多个数字。
- `\.?`:表示可选的小数点。
- `[0-9]+`:表示1个或多个数字。
- `$`:表示字符串的结束。
如果该string符合上述正则表达式,即可判断该string为数字。
相关问题
C++ 判断string不是数字
可以使用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语句来判断转换是否成功。
C# 判断string 是否数字
在 C# 中,可以尝试使用 `int.Parse()` 或者 `double.Parse()` 等方法来将字符串转换为数字类型,如果转换成功则说明该字符串是数字。示例代码如下:
```csharp
string str = "123";
int num;
if (int.TryParse(str, out num))
{
// 字符串是整数类型
}
else
{
double doubleNum;
if (double.TryParse(str, out doubleNum))
{
// 字符串是浮点数类型
}
else
{
// 字符串不是数字类型
}
}
```
上述代码中,首先使用 `int.TryParse()` 方法尝试将字符串转换为整数类型,如果转换成功则说明字符串是整数类型,否则继续尝试使用 `double.TryParse()` 方法将字符串转换为浮点数类型,如果转换成功则说明字符串是浮点数类型,否则说明字符串不是数字类型。