c++从string判断是不是数字
时间: 2024-12-24 08:31:15 浏览: 10
在C++中,你可以使用`std::isdigit()`函数来判断一个字符串是否只包含数字字符。这个函数是C++ `<cctype>`库的一部分,它属于标准库。以下是一个简单的示例:
```cpp
#include <iostream>
#include <cctype>
bool is_number(const std::string& str) {
for (char ch : str) {
if (!std::isdigit(ch)) {
return false;
}
}
return true; // 如果遍历完字符串都没有找到非数字字符,则返回true
}
int main() {
std::string input = "12345";
if (is_number(input)) {
std::cout << "输入是数字" << std::endl;
} else {
std::cout << "输入不是数字" << std::endl;
}
return 0;
}
```
在这个例子中,`is_number` 函数检查给定字符串中的每个字符,如果遇到任何非数字字符,就立即返回 `false`。如果所有字符都是数字,那么函数会在循环结束后返回 `true`。
相关问题
C++判断String是否以数字开头
可以使用isdigit()函数来判断一个字符串是否以数字开头,示例代码如下:
```c++
#include <iostream>
#include <string>
using namespace std;
bool isStartWithDigit(string str) {
if (isdigit(str[0])) {
return true;
}
return false;
}
int main() {
string str1 = "123abc";
string str2 = "abc123";
if (isStartWithDigit(str1)) {
cout << str1 << " starts with digit." << endl;
} else {
cout << str1 << " does not start with digit." << endl;
}
if (isStartWithDigit(str2)) {
cout << str2 << " starts with digit." << endl;
} else {
cout << str2 << " does not start with digit." << endl;
}
return 0;
}
```
输出结果为:
```
123abc starts with digit.
abc123 does not start with digit.
```
C++判断string中都是数字
在 C 语言中,可以使用库函数 `isdigit()` 来判断一个字符是否是数字。可以遍历字符串中的每个字符,如果有一个字符不是数字则判定整个字符串不是数字,否则则可以判定整个字符串都是数字。
以下是一个示例代码:
```c
#include <stdio.h>
#include <ctype.h>
int is_all_digit(char* str) {
int i = 0;
while (str[i]) {
if (!isdigit(str[i])) {
return 0;
}
i++;
}
return 1;
}
int main() {
char str1[] = "12345";
char str2[] = "12a45";
if (is_all_digit(str1)) {
printf("%s is all digit\n", str1);
}
if (!is_all_digit(str2)) {
printf("%s is not all digit\n", str2);
}
return 0;
}
```
输出结果为:
```
12345 is all digit
12a45 is not all digit
```
阅读全文