QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4198|回复: 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)
    2 U. t. f: |8 ~. Y, _{
    & J% p1 F. E; m  int m=0;
    3 m' u- w; T9 e+ v- X$ B; Z  int b=str.Length();7 w. V  l' ?2 _9 v' z9 F
      for(int i=1;i<=b;i++)
    2 b" Z2 f6 g9 E* n6 J+ G  {4 b+ h: A( v: T( I
         char c=str;
    1 s! p! B, m4 X, [; d( ?' ?     int check=isdigit(c);8 P6 @; Y$ }, Y" B0 g' N. V) O
         if(check ==0)
    4 B2 B" g  o0 k3 n6 b% Z" t     {
    ' c$ }, Q, J7 x1 S8 [       if(c!='.')
    * a  ?$ N) @) }) b9 z7 K         return false;( ^* I' N& v( J9 U/ ?9 A2 i
           else
    7 v% F6 ^9 a! F1 I* _" e2 r) Y$ ?       {
    8 s$ _5 Q6 |2 {+ e! `         m=m+1;
    6 f2 i# D+ i" D- `' b" m$ O         if(m>1), J0 j$ p7 N8 i7 \+ w5 W6 ~% Y
               return false;
    # N2 i' K  F7 T& H+ z       }; @* O- r: o9 \2 A4 O& v6 A1 ^
         }. K4 l+ q( i1 J0 {  Y! _
      }) {1 I4 I, b4 e. D4 \* C8 q* E5 x
      return true;) y. o" c7 l$ x) C7 t" o
    }
    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的发言:$ b! t, r# W% Y; q9 ^1 n6 b Y 4 Q% u, v# K/ [% p O3 Q

    这样行不行?

    : Y# T4 i/ {0 F

    bool __fastcall TForm1::isnumber(const AnsiString str)

    ( w: I" w! e( a, Z

    try {

    , [# d, w) W! N5 w7 q/ f/ C+ s

    IntToStr(str);

    # F8 e7 m$ P; _* B" c

    return true;

    6 L7 l4 S4 Y# X2 p, y2 H6 K6 N

    }

    ; v4 ~6 b* v: y! K8 f" n1 j

    castch(...)

    ! B+ U- B2 h2 O) H$ Q/ O

    {

    ; M% {0 L: W% E1 c

    return false;

    7 x4 W& v! Y7 j! ]" R: C0 Q. t

    }

    ( M2 q3 p. a" X8 x8 Z

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

    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-6-12 15:32 , Processed in 0.424646 second(s), 63 queries .

    回顶部