C++判断输入内容是否为整数
生活随笔
收集整理的這篇文章主要介紹了
C++判断输入内容是否为整数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近遇到一個小問題,判斷輸入的內容是否為整數。
具體方法如下:
首先定義接收內容的字符串 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; }當然這個也是有缺陷的,沒有判斷以0開頭的情況:0 、00 、000;也沒有判斷負數的情況;不過實現起來應該都比較簡單,有時間再補充吧!總結
以上是生活随笔為你收集整理的C++判断输入内容是否为整数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【C语言常识】Keil MDK的分散加载
- 下一篇: [批处理大放送] Visual Stud