定义接收内容的字符串 string s,调用C++的getline方法,格式如下:getline(cin,s),getline可以接收空格,遇到换行输入结束。然后依次判断字符串中的字符,是否为数字,如果遇到一个非数字的字符,则不是整数。
bool isDigit(char a) {
if (a - '0' == 0 || a - '0' == 1 || a - '0' == 2 || a - '0' == 3 ||
a - '0' == 4 || a - '0' == 5 || a - '0' == 6 || a - '0' == 7 ||
a - '0' == 8 || a - '0' == 9)
return true;
return false;
}
void testInteger(string y) {
for (int i = 0; i<y.length();i++)//字符串内容是否为整数
if (!isDigit(y[i])) {
cout<<"输入内容不是整数......"<<endl;
return;
}
//将字符串转化为数字
int num;
istringstream t(y);
t >> num;
cout<<"整数为:"<<num<<endl;
}
int main(){
string s;
cout << "请输入整数:"<<endl;
getline(cin, s);
testInteger(s);
return 0;
}
扩展资料:
C++判断输入函数方法:
//is int?bool isDegital(string str) {//判断没有输入的情况
if(str=="")
{
return false;
}
else {//有输入的情况
for (int i = 0;i < str.size();i++)
{
if (str.at(i) == '-' && str.size() > 1) // 有可能出现负数
continue;
数值在ascii码(编码)的‘0’-‘9’之间 if (str.at(i) > '9' || str.at(i) < '0')
return false;
}
return true;
}
}
C++ 如何判断输入的数据是否为整数
定义接收内容的字符串 string s,调用C++的getline方法,格式如下:getline(cin,s),getline可以接收空格,遇到换行输入结束。然后依次判断字符串中的字符,是否为数字,如果遇到一个非数字的字符,则不是整数。bool isDigit(char a) { if (a - '0' == 0 || a - '0' == 1 || a - '0'...
判断一个数是否为整数,算法用C++来怎么写?
用C++判定一个数是否是整数,这里涉及到一个精度问题。对于一个float或double数据类型,在有效数位以后的位数都是无效的值。比如 float a=10.00000000000000001;计算机就会将无效的位数截断,导致计算机读取的a就是10;判断是否是整数,可以这样判断 float a;float b=pow(10,-6.0);\/\/#include<math.h>...
c++如何判断一个数是不是整型
cout<<"不是整数\\n";
C++中怎么判断输入数字类型是整型还是浮点数?
不需要判断输入数字类型是整型还是浮点数,而且也根本无法判断。解决办法:用scanf读取输入数据,同时判断是否读取完毕。这是因为符合输入格式,输入流中只会剩下换行符'\\n'。代码片段如下:int a, b; char c;scanf("%d %c %d", &a, &c, &b);if (getchar() != '\\n') \/\/ 如果输入 3....
c++ 如何判断输入数据是否为 int型?
1 判断。--- 例如:输入 123 , 读入 123, 数据正确。输入 xab , 数据错误 输入 123.456,读入 123, 数据正确。余下的 .456 留在输入流缓冲区。--- 如果输入数据是 16进制,c 风格 用 r = scanf("%x",&k); c++ 要设 hex ;用同样方法判断 数据是否正确。
c++ 如何判断编辑框中的double中的数据是不是整数
编辑框中的肯定是字符串,所以只要找这个字符串中是否有小数点,以及小数点后的是不是全是0就可以了。可以取小数点后的字符串,用_ttoi\/atoi等系列函数转换成整数来判断是否为0。
C语言,判断输入的数是否是正整数?
{ int a;float b;\/\/用小数变量 scanf("%f",b);a=b;\/\/去除小数部分 if(a==b&&a>0){\/\/没有小数的和有小数的比,并且判断是不是正数。\/\/说明小数部分是0,而且是正数 printf("是正整数");}else{ printf("不是正整数");} return 0;} 我是C++语言,不习惯C语言,这里面好多错误,你...
c++判断输入是字符还是数字
可以参考下面的代码:include<iostream> using namespace std;int main(){ double num;if(cin>>num)cout<<"Input correct!"<<endl;else cout<<"Input erroe!"<<endl;return 0;}
c++中判断数据类型
int a;if(typeid(a) == typeid(int)) cout<<"int";if(typeid(a) == typeid(float)) cout<<"float";typeid和sizeof一样是个运算符,我一直很奇怪为什么很少人提到它
c++如何来判断是否为字符还是数字
首先 include <ctype.h> 然后 char c;c = getchar();用 isdigit(c);来判断是否为数字,如果是数字那么会返回非0 isalpha(c);来判断是否为字母,如果是字母那么返回非0