QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4232|回复: 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)
    ' T& N; ~& [" [& y4 j{
    ; j: P% }2 n. C/ i  int m=0;( A* J; ]: P" L3 W. H# s. l& ]6 `
      int b=str.Length();8 z; n4 j* _' t9 ?7 V
      for(int i=1;i<=b;i++)
    . G+ i+ p7 Q, s  {
    * j% }# ^. i/ p/ U. j8 m     char c=str;5 i1 t3 g8 O" G' f
         int check=isdigit(c);' S! `3 r/ h5 k8 e' k: Q
         if(check ==0)
    , N+ c# K1 \% ?6 W8 z, x7 Q, z  Z     {& ]- ~0 l6 G8 F" G
           if(c!='.')
    ( j; G: W8 h/ F8 L" u% j         return false;
    & n. A5 ?2 _, r" M1 {1 G       else) S! I. b) K! v- P8 u0 T
           {
    ' Q' [, K, }4 w; K. Q3 t/ l         m=m+1;
    ' F; x* u1 v# |2 S         if(m>1)
    4 H3 h+ C5 @5 o* i7 ^2 G) q' J+ b           return false;, `  ^1 x6 }. k$ X
           }
    ( j% [9 w4 e$ f- y5 z0 R: }     }' h7 B, R& S7 ?+ Z
      }4 `$ m, I" F* E) ]1 {6 e) E' w  ~1 }
      return true;, M' G5 p8 K4 P* @; F
    }
    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的发言:" I5 L0 V0 E2 S 8 K% l3 h: v0 ~. s8 f

    这样行不行?

    2 F% R$ A7 d3 ~

    bool __fastcall TForm1::isnumber(const AnsiString str)

    * X6 h* H3 c& d8 ~( t

    try {

    # W" H4 E" J/ ^

    IntToStr(str);

    " N v. w: k- K9 w% u

    return true;

    , H7 h$ W5 Q; R

    }

    ! C) o) x3 c6 n+ g1 L

    castch(...)

    ( E. J0 P$ i I5 [

    {

    , h* K X; _3 S' h" x! z

    return false;

    3 u; I2 |$ B( b$ W. S

    }

    2 }+ U/ @( I8 x+ f2 d) B# p7 z

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

    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-8-19 01:57 , Processed in 0.427767 second(s), 63 queries .

    回顶部