C++判断用户输入是否为数字?

原创 2015年07月07日 23:06:37
#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
 bool is_number(string str)
  {
     if(str.c_str()[0]!=45)
     {
        for(int i = 0; i < str.length(); i++)
        {
           if( str.c_str()[i] < '0' || str.c_str()[i] > '9' )
           { return false;}
         }
        return true;
     }
     else
     {
       for(int i = 1; i < str.length(); i++)
        {
           if( str.c_str()[i] < '0' || str.c_str()[i] > '9' )
           { return false;}
        }
       return true;
     }
 }
void main()
{ int a=0;
  const char *s;
  cout<<"请输入数据a:";
  string str;
  cin>>str;
  if(is_number(str))
  {
    cout<<"你输入的是数字!"<<endl;
    s=str.c_str();
    a=atoi(s);
    a=a+1;
    cout<<"a+1="<<a<<endl;
  }
  else cout<<"你输入的不是数字!";
}


一次性获取用户当前输入(他输入的可能是1位数也可能是2位数或者字母等)并判断是否为严格意义上的数字,主要是为了区分数字和字母。如果不是数字则返回重输,如果是,使用该int 型数据做其他操作。

主要思路是采用string类的成员函数c_str()实现。对于成功判断是数字以后如果要使用该数字可以再调用atoi(const char*s)


版权声明:本文为博主原创文章,未经博主允许不得转载。

C++中判断数据类型的函数

如变量int  a; 我们可以利用库函数typeid,来判断变量a是否为整型变量;  如: if (typeid(a) == typeid(int))   这个库函数typeid在头文件ty...
  • suxinpingtao51
  • suxinpingtao51
  • 2012年11月09日 15:16
  • 9738

C++控制台程序判断输入的数字

C++标准库中的iostream库的基础是用于表示输入流的istream类型和用于表示输出流的ostream类型。处理输出时使用ostream类型的对象cout,处理输入时使用istream类型的对象...
  • hou09tian
  • hou09tian
  • 2017年08月20日 10:20
  • 550

C++判断只能输数字的问题

个人觉得这个问题应该是新手都会碰到的吧,故觉得有必要记录
  • asd313346541
  • asd313346541
  • 2014年05月09日 18:03
  • 1146

C++从屏幕输入一行以空格分割的数字,存入整型数组

c++输入一行数字串。从屏幕读入一行以空格分隔的数字,每个数字的长度不一定一样,有正数有负数,要求将这些数字分别存放到数组中,实现方法的分析。...
  • zdby11
  • zdby11
  • 2015年10月16日 20:42
  • 6543

C++语言怎么判断输入是否数字?或者字母?

假设用char ch接收用户输入 判断字母: 写字母:if((ch>='a')&&(ch 写字母:if((ch>='A')&&(ch 字母(包含写):if(((ch>='a')&&(ch='A...
  • u013174689
  • u013174689
  • 2014年08月03日 00:45
  • 4060

c++ 判断输入的一个double数的每一位是不是阿拉伯数字

c++ primer plus 编程练习题, 第六章 第二题
  • zhaoyong26
  • zhaoyong26
  • 2017年01月06日 16:57
  • 384

c++使用库函数判断字符是否是数字

c++使用库函数判断字符是否是数字,字母
  • liuweiyuxiang
  • liuweiyuxiang
  • 2016年03月10日 21:09
  • 9987

C++如何判断一个string字符串,是否是数字

方法一:判断字符的ASCII范围(数字的范围为48~57) #include using namespace std; bool AllisNum(string str); i...
  • LearnLHC
  • LearnLHC
  • 2017年10月09日 20:41
  • 1028

C/C++ —语言判断数字或字符的函数总结

原型:extern int isalnum(int c);   用法:#include     功能:判断字符变量c是否为字母或数字   说明:当c为数字0-9或字母a-z及A-Z时,返回非零...
  • Dawn_sf
  • Dawn_sf
  • 2017年03月16日 08:36
  • 1906

C++判断string是不是数字

#include    #include    using namespace std;      bool isNum(string str);   int main( )   {   ...
  • yebhweb
  • yebhweb
  • 2016年06月04日 09:53
  • 2112
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++判断用户输入是否为数字?
举报原因:
原因补充:

(最多只允许输入30个字)