CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

请问 如何判断 一个字符串 只含有 数字

楼主lzhltslzhlts()2003-08-03 16:55:29 在 C++ Builder / 基础类 提问

请问   如何判断   一个字符串   只含有   数字  
   
  我想转换一个字符串   到int    
   
  但是   如果有其它他不认得字符   就会报错  
   
  我想先判断这个字符串是指含有数字的字符串  
   
  改如何办  
   
  谢谢  
  问题点数:0、回复次数:11Top

1 楼ddeng(登登)回复于 2003-08-03 16:59:20 得分 0

try   {  
  }  
  catch(...)   {  
  }Top

2 楼Dala(Dala)回复于 2003-08-03 17:24:47 得分 0

bool   NotAllNum   =   false;  
  AnsiString   S   =   "123";  
  try{StrToInt(S);}catch(...){   NotAllNum   =   true;   }Top

3 楼kingfish(工作很忙,很少来csdn...)回复于 2003-08-03 17:27:52 得分 0

s.ToIntDef(0);Top

4 楼Atomictry(天影)回复于 2003-08-03 17:31:50 得分 0

看这样行不行:  
  double   a;  
  try    
        {      
        a=StrToFloat(Edit1->Text);  
        }  
  catch(EConverError   &e)  
        {  
        ShowMessage("输入错误");  
        }  
  Top

5 楼sfemil(心洋)回复于 2003-08-03 17:53:25 得分 0

没有想到大家都在使用这种方法。的确也没有其他更好的方法了。Top

6 楼Adayuer(饭碗饭碗饭碗你在哪里?)回复于 2003-08-03 21:40:26 得分 0

这应该算是相对简单的方法。Top

7 楼hy1080(老神经病)回复于 2003-08-03 21:47:10 得分 0

我想   kingfish(八百里秦川@龙城异客)的办法不错,我也一直在找,  
  以前用C的函数来解决,后来也用那个了,  
  不过应当加一些判断,  
  比如设成一个不“应当”的整数,  
  如果得到这个就错了,这样就可以不用异常了。  
  我见了异常就头痛,、~~~~~~~~~~~~~~~~~~~~~~~Top

8 楼Santos(快乐的GG)回复于 2003-08-03 23:21:25 得分 0

使用函数,这样可以屏蔽掉转换错误   :)  
   
  如:  
   
  bool   IsNum(AnsiString   str,int*   num)  
  {  
      try  
      {  
          *num   =   StrToInt(str);  
      }  
      catch(...)  
      {  
          *num   =   0;  
          return   false;  
      }  
      return   true;  
  }      
  Top

9 楼KKNDzhou(KKND)回复于 2003-08-04 00:03:59 得分 0

#include   <stdlib.h>  
  find_not_first("       你要判断的字符",:0123456789);Top

10 楼kinglon(晶龙)回复于 2003-08-04 00:38:52 得分 0

AnsiString   asStr="0123456789";  
      bool   bIsNum=false;  
      char   *cStr=new   char[asStr.Length];  
     
      for(int   i=0;i<asStr.Length;i++)  
      {  
            cStr++  
            if(cStr>47&&cStr<58)  
            {  
                bIsNum=true;  
            }  
            else  
            {  
                bIsNum=false;  
            }    
      }  
   
  最后如果bIsNum是true,就是所有的字符串都是数字了  
  (酒后之言啊~~~~~)Top

11 楼yjy1001(蓝鲸--优秀得郁闷的鱼)回复于 2003-10-23 10:08:17 得分 0

可以这样:  
      AnsiString   str;  
      int   i=StrToIntDef(str,0);  
  str为任意字符,不受限制,而且不会出错Top

相关问题

  • 菜鸟又问:如何判断一个字符串当中只含有数字?
  • 怎么判断我的一个字符串里是否含有数字?
  • 一个字符串,如何判断字符串中含有 ABCDEF0-9
  • 如何判断一个字符串含有至少一个中文字符,以及如何判断一个字符串不含一个数字字符
  • 字符串、数字判断函数
  • 如何判断一个字符串中是否含有另一个字符串?
  • 如何判断一个字符串中,是否含有连续8位的数字?
  • ———怎么判断一个字符串中含有汉字———
  • 如何判断一个字符串中含有两个a?
  • 怎样判断一个字符串只含有数值?

关键词

  • 数字
  • 字符串
  • 判断
  • 含有数字
  • ansistring
  • catch
  • try
  • bool
  • num

得分解答快速导航

  • 帖主:lzhltslzhlts

相关链接

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

广告也精彩

反馈

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