QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4200|回复: 2
打印 上一主题 下一主题

一个判断输入的字符串是否为数字的函数!

[复制链接]
字体大小: 正常 放大
ilikenba 实名认证       

1万

主题

49

听众

2万

积分

  • TA的每日心情
    奋斗
    2024-6-23 05:14
  • 签到天数: 1043 天

    [LV.10]以坛为家III

    社区QQ达人 新人进步奖 优秀斑竹奖 发帖功臣

    群组万里江山

    群组sas讨论小组

    群组长盛证券理财有限公司

    群组C 语言讨论组

    群组Matlab讨论组

    跳转到指定楼层
    1#
    发表于 2004-4-28 22:59 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    bool __fastcall TForm1::isnumber(const AnsiString str)
    9 K2 P* K* v  v{2 t, S/ m2 ^- N  A3 t' n
      int m=0;" v4 ~) x+ Q: o3 {/ g+ ^- Z6 X
      int b=str.Length();6 s' S: U7 T% ]* @
      for(int i=1;i<=b;i++)
    7 p; V+ Q6 i( f7 ]  {+ H: j; ^' y9 X! e, X0 N. g. h
         char c=str;
    ( q- S2 f% R8 P5 g     int check=isdigit(c);  U4 ~- V- ]5 N' A# k3 w
         if(check ==0)! s$ c. n& b, N* y
         {
    & N( e1 d# w+ b8 \; w. X- s* T       if(c!='.')' Q# n3 Q! G4 @
             return false;
    0 H( Q+ P: e  ^, w% X+ O       else9 J# Z; c  r8 U6 y( f5 A/ f2 ?
           {
    + x6 H2 b* Q6 H7 X# H" o         m=m+1;
    % y( u$ {/ R* l3 U         if(m>1)! @& p6 q9 |+ D- C
               return false;
    ( e' U. C3 O( i* I       }
    ) @, C! w+ `6 ^/ Z) I& f     }
      j' i/ L! B2 F" T  }4 O/ B$ Z' K6 Q/ p
      return true;% j& G7 C  e1 j4 C
    }
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

    3

    主题

    1

    听众

    34

    积分

    升级  30.53%

    该用户从未签到

    新人进步奖

    这样行不行?

    bool __fastcall TForm1::isnumber(const AnsiString str)

    try {

    IntToStr(str);

    return true;

    }

    castch(...)

    {

    return false;

    }

    回复

    使用道具 举报

    ilikenba 实名认证       

    1万

    主题

    49

    听众

    2万

    积分

  • TA的每日心情
    奋斗
    2024-6-23 05:14
  • 签到天数: 1043 天

    [LV.10]以坛为家III

    社区QQ达人 新人进步奖 优秀斑竹奖 发帖功臣

    群组万里江山

    群组sas讨论小组

    群组长盛证券理财有限公司

    群组C 语言讨论组

    群组Matlab讨论组

    以下是引用libertysigil在2004-4-30 17:06:03的发言: 4 z ]- [, {- x. |7 y' r8 g, D7 w; Z- m- j$ U

    这样行不行?

    & ^6 V( c5 n6 c/ a

    bool __fastcall TForm1::isnumber(const AnsiString str)

    9 ~+ z! W% a1 R

    try {

    1 ?5 B/ |7 o( R9 k; S

    IntToStr(str);

    $ [& L" _1 |/ M* ?2 L

    return true;

    ( U4 R! s8 R* ]) E1 t+ B- s1 ]

    }

    9 s. E+ f7 h% ^' S2 k# Y

    castch(...)

    ( l) G! Y6 U* M/ w! c- O

    {

    ' A d7 j r3 O) P$ d

    return false;

    # b, m- R& b+ H6 T l

    }

    + d' p8 ^" A4 V# z4 \* _2 u

    注意对于一个函数来说,应该做的尽量健壮,你的那个函数利用了VCL的默认异常处理器,但是如果你在析构函数中需要利用这个函数,就不能用你这个函数,因为析构函数很可能就是一个异常引起的,它需要释放一个对象的内存,要是在这里还要引发异常的话,就很难做到了!

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-6-13 08:02 , Processed in 0.438478 second(s), 63 queries .

    回顶部