C++判断输入内容是否为整数
生活随笔
收集整理的這篇文章主要介紹了
C++判断输入内容是否为整数
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
最近遇到一個(gè)小問(wèn)題,判斷輸入的內(nèi)容是否為整數(shù)。
具體方法如下:
首先定義接收內(nèi)容的字符串 string s;
調(diào)用C++的?getline方法,格式如下:getline(cin,s),getline可以接收空格,遇到換行輸入結(jié)束。
然后依次判斷字符串中的字符,是否為數(shù)字,如果遇到一個(gè)非數(shù)字的字符,則不是整數(shù)。
具體程序如下:
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++)//字符串內(nèi)容是否為整數(shù)if (!isDigit(y[i])) {cout<<"輸入內(nèi)容不是整數(shù)......"<<endl;return;}//將字符串轉(zhuǎn)化為數(shù)字int num;istringstream t(y);t >> num;cout<<"整數(shù)為:"<<num<<endl; }int main(){string s;cout << "請(qǐng)輸入整數(shù):"<<endl;getline(cin, s);testInteger(s);return 0; }當(dāng)然這個(gè)也是有缺陷的,沒(méi)有判斷以0開(kāi)頭的情況:0 、00 、000;也沒(méi)有判斷負(fù)數(shù)的情況;不過(guò)實(shí)現(xiàn)起來(lái)應(yīng)該都比較簡(jiǎn)單,有時(shí)間再補(bǔ)充吧!總結(jié)
以上是生活随笔為你收集整理的C++判断输入内容是否为整数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【C语言常识】Keil MDK的分散加载
- 下一篇: [批处理大放送] Visual Stud