C++/C判断输入的是否为数字

来源:百度知道 编辑:UC知道 时间:2024/05/16 17:13:30
比如说我输入33e,则提示错误

#include<iostream>
using namespace std;

int main()
{
char a[10];
double x;
int flag=0;
gets(a);
for(int i=0;a[i]!='\0';i++)
if(!(a[i]>='0'&&a[i]<='9'||a[i]=='.')){cout<<"输入为非数字"<<endl;flag=1;break;}
if(flag==0)
{ cout<<"输入为数字"<<endl;
x=atof(a);//该函数把字符串(即数组中的全部元素)转换成数字
cout<<x<<endl;
}
return 0;
}

按要求的格式输入数值,从返回值可以判断。
例如:
float a;
int k;
k = scanf("%f",&a); // 返回值 k为1,则 为成功读入数字
if (k != 1){
printf("error !");}
else {
printf("it is number !");}
}