QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4025|回复: 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)3 r% q" ?0 m' e: X2 O: H/ y
    {( x5 U; c* O7 Y2 \. Y7 {$ i3 [
      int m=0;* l8 M9 N9 _. G4 R5 t
      int b=str.Length();/ t6 t1 M: u6 U7 Y* J0 x
      for(int i=1;i<=b;i++)% W$ y3 ^" a4 a" }8 n( ~
      {
    ! e9 C; f1 e! B5 z0 r  x2 S# P     char c=str;
    : C7 ]. o) Y5 J  G1 C* w" O% Y     int check=isdigit(c);: y0 _, x- v4 W% f/ S7 I
         if(check ==0)
      I2 ^/ r  }6 Y     {: E8 x! R0 H: z: c
           if(c!='.')- p( ?- P: ]' b! e
             return false;8 M/ F& O/ S) v- a  _( c7 W1 E6 z- u1 V
           else6 X% y7 E' S  Y8 L4 b5 P$ q
           {
    : C! [' \) K. O         m=m+1;
    & _+ Y) v4 ~- Y3 E/ ?         if(m>1)7 b, A1 k) f* g; ?& K: G9 A
               return false;/ S7 y! p5 u. o9 A& y
           }0 k9 a. A; y! ]! Z( w$ C( f) S
         }- y4 j2 g6 X9 o( w& A7 B; V
      }$ a) p8 s1 e8 o8 a( Y$ w7 w! k3 W
      return true;, E! C' L2 Z3 k
    }
    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的发言: 3 J. ]* R9 G, j8 | 6 }8 |5 |. W- I6 C

    这样行不行?

    * w* u" S- `& P$ `8 _3 `; D/ O

    bool __fastcall TForm1::isnumber(const AnsiString str)

    $ S% C) A+ _2 f

    try {

    / Q* {6 D9 j# n8 V

    IntToStr(str);

    9 g3 \- _8 T. |0 d2 W" F" I% ^

    return true;

    / K+ V; c& A% p& P+ ]% K; S

    }

    ; B; K) {% s0 Y9 R$ i9 H" A4 }

    castch(...)

    5 C; _6 F4 Q$ D: w8 v

    {

    N9 d& u% s4 a! d' X* y4 c2 s

    return false;

    ; z0 ~. D: ^% x8 {/ N

    }

    9 D+ ]8 b8 x" b, l) C8 F

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

    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2025-11-8 08:25 , Processed in 0.632709 second(s), 62 queries .

    回顶部