C++判断输入内容是否为整数
生活随笔
收集整理的這篇文章主要介紹了
C++判断输入内容是否为整数
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
最近遇到一個小問題,判斷輸入的內(nèi)容是否為整數(shù)。
具體方法如下:
首先定義接收內(nèi)容的字符串 string s;
調(diào)用C++的?getline方法,格式如下:getline(cin,s),getline可以接收空格,遇到換行輸入結(jié)束。
然后依次判斷字符串中的字符,是否為數(shù)字,如果遇到一個非數(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 << "請輸入整數(shù):"<<endl;getline(cin, s);testInteger(s);return 0; }當然這個也是有缺陷的,沒有判斷以0開頭的情況:0 、00 、000;也沒有判斷負數(shù)的情況;不過實現(xiàn)起來應(yīng)該都比較簡單,有時間再補充吧!總結(jié)
以上是生活随笔為你收集整理的C++判断输入内容是否为整数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【C语言常识】Keil MDK的分散加载
- 下一篇: 刚开始看英文文献,想问一下各位,最初应该