QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3932|回复: 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)( S. o( j2 j6 m2 a  W4 k
    {- ^  D. y: R, _  M) @6 l
      int m=0;( H7 e# a4 b. x5 E% \1 l2 S
      int b=str.Length();
    , M  k5 F& x5 k* r  for(int i=1;i<=b;i++)
    1 J! f& v( ~$ Q! x; k6 @6 _, n6 S( b  {
    9 ^1 `  I' j5 O$ ~7 C! f     char c=str;
    ! H! L% x- n" c9 I* k2 r% ]! z     int check=isdigit(c);, Q6 A! z( q) k7 D$ `! L
         if(check ==0)
    / x1 s2 |+ n  \& K6 N; L, p     {
    ; Q& T2 Q' w# [+ r       if(c!='.')# ?; \+ K7 @) C
             return false;) F0 X; b) E5 O8 t- K' F$ C
           else
    3 i- w( I$ q$ C( N9 W+ i       {" R; y8 f) r  M- Z  q; D
             m=m+1;: {, I% B, L; f8 L1 Y
             if(m>1): l0 [" Z. A6 K* ~4 G
               return false;4 c% u% y/ X9 U3 h( k
           }2 K' o3 `& _5 S
         }* G9 K) K6 H5 V, c2 L
      }% R8 H3 {$ B, N9 H* V& O
      return true;
    ! A" K. ]/ \% v& r: J/ Q: y}
    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的发言: 7 a4 _9 g9 ?" ~1 Q8 h % |: J, y: |/ W2 ^) g8 U

    这样行不行?

    . v* i5 U4 o: D1 z0 [

    bool __fastcall TForm1::isnumber(const AnsiString str)

    7 ^8 R% }5 E' \8 d( @$ L( N7 {

    try {

    % g" Q& m( ?. L& X

    IntToStr(str);

    " n" N3 W7 a* h# x' D

    return true;

    2 v7 b4 g: O0 {

    }

    9 v8 x3 y/ a, H9 O

    castch(...)

    4 ]5 _0 v3 ^! a2 e# {9 D' t! }

    {

    ( ]2 D' }* v& U4 [0 k

    return false;

    % K9 m ?% `- q

    }

    9 t# n2 c* T+ e/ s

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

    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2025-8-2 05:11 , Processed in 0.555255 second(s), 62 queries .

    回顶部