C++怎么判断输入的是不是一个数字

2025-03-31 00:34:43
推荐回答(3个)
回答1:

#include
#include //提供string类,说白了相当于一个动态数组,并且重载了[]运算符,所以可以访问下标
#include //调用isdigit函数要用它,isdigit函数是判断一个字符是否是数字,是返回true,否则返回false
using namespace std;
bool IsDigit(string&);
int main()
{
string str; //声明类对象
cout<<"请输入字符串:"< cin>>str;
if(IsDigit(str)){
cout<<"输入的是数字"< }
else{
cout<<"输入的不是数字"< }
return 0;
}
bool IsDigit(string& str)
{
bool flag=true;
for(unsigned int i=0; i {//用for循环访问字符串中的每个字符
if(!isdigit(str[i]))//额,这儿还是用if,这儿用while也没错,有点把while当if用的意思
{//判断字符是否是数字,如果不是isdigit返回false,则!isdigit为true,执行后面的把flag设为false
flag=false;
break;
}
}
return flag;//返回flag,如果字符串为数字则flag为true,否则为false
}

回答2:

通过ascii码判断,c>='0'&&c<='9'即可。

例如
#include
void main()
{
char c;
scanf("%c",&c);
if(c>='0'&&c<='9') /*关键*/
printf("This is a char\n");
else
printf("This isn't a digital\n");
}

回答3:

if(c>='0'&&c<='9')