CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

求救十万火急:如何判断从键盘输入的字符是否整数??

楼主dabader(光之翼)2001-12-19 19:20:30 在 C++ Builder / 基础类 提问

c++新手,多多指教!!  
  谢谢! 问题点数:20、回复次数:12Top

1 楼NowCan(城市浪人)回复于 2001-12-19 19:31:07 得分 10

判断ASCII码的范围是否在0x30-0x39Top

2 楼chenqj(吉子)回复于 2001-12-19 19:38:14 得分 0

int   isdigit(   int   c   );  
   
  Top

3 楼dabader(光之翼)回复于 2001-12-19 20:15:56 得分 0

不好意思:如何写成判断函数??  
  (整数的范围比较大)  
  再谢!!Top

4 楼ilovesex(爱在性)回复于 2001-12-19 20:24:18 得分 10

把你要输入的值看成一个字符串,然后再对这个串中的每个元素进行比较。  
  如果这个串中所有的字符都是'1'-'9'。   那么这个字符串就是整数型式。Top

5 楼phoenix96_2000(Arcrest)回复于 2001-12-19 20:44:46 得分 0

整数范围再大,但总得一个一个输入啊,  
  你去控制就是了  
   
  若是输完在判断,就用字符串了Top

6 楼dabader(光之翼)回复于 2001-12-19 20:47:10 得分 0

那么,如何提取对串中的每个元素进行比较?  
   
  :——)Top

7 楼VSaber(☆浪人☆)回复于 2001-12-19 21:19:14 得分 0

try  
  {  
      StrToInt(Edit1->Text);  
  }  
  catch(...)  
  {  
      ShowMessage('error');  
  }Top

8 楼knight12(12Knight)回复于 2001-12-19 22:52:29 得分 0

bool   IsDigital(AnsiString   sNum)  
  {  
      try  
          {  
              int   iNum=StrToInt(sNum);  
              return   true;  
          }  
      catch(...)  
          {  
              return   false;  
          }  
  }Top

9 楼dabader(光之翼)回复于 2001-12-19 22:58:26 得分 0

我解决了  
  bool   valid_input2(   string   input)  
  {  
  int   num_int   =   0;  
  for   (string::const_iterator   i   =   input.begin();i   <   input.end();++i)  
  {  
  if   (   *i   >=   0x30   &&   *i   <=   0x39   )  
  {  
   
  num_int++;  
  }  
  }  
  if   (   num_int   ==   input.size())  
  return   true;  
  else  
  return   false;  
  }  
   
  不过又有了新问题  
  呵呵Top

10 楼dabader(光之翼)回复于 2001-12-20 18:50:18 得分 0

to   VSaber:   能否详细点?  
  to   knight12:   Ansistring   在什么头文件里?我   #include   <string>   还不行  
   
  多谢!!  
  Top

11 楼Bird1945(没有钱,我拿什么来爱你?)回复于 2001-12-20 19:03:34 得分 0

用   int   isdigit(int   ch)   ;  
    若ch为数字则返回值为1;Top

12 楼dabader(光之翼)回复于 2001-12-20 22:02:34 得分 0

to   Bird1945:  
   
  关键是,不仅要判断出输入是否整数,还要对输入不是整数而是一些随意性的字符时,能做出适当的反应。  
  光用   int   isdigit(int   ch)   好像还不行  
  谢谢!!Top

相关问题

  • VBscript字符串问题。十万火急
  • 关于ORACLE中字符集的问题?(十万火急)
  • 关于中文字符问题?十万火急!!!!!!!!!!!
  • ASP.NET 判断字符长度 送高分100分 十万火急!!!
  • 求助关于Sybase字符集, 十万火急!!!!!
  • 求助关于Sybase字符集, 十万火急!!!!!
  • 高分求救,键盘不能用的问题,十万火急!!!!!
  • 十万火急 十万火急 !往数据库中存入一个字符串然后又取出来跟原来字符串不一样?
  • 关于oracle 字符集与 C++builder 的问题,十万火急!一定给分。
  • 十万火急:JBuiderX中有一个吃字符的BUG怎么解决

关键词

  • 字符
  • 整数
  • 输入
  • 判断
  • 字符串
  • isdigit
  • 是否
  • 范围
  • ch
  • input

得分解答快速导航

  • 帖主:dabader
  • NowCan
  • ilovesex

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo