QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4336|回复: 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)* N% \$ W3 ]! O: @
    {3 `& x& |/ ], v* {
      int m=0;' ?2 n* S/ I( |
      int b=str.Length();  P# b0 I, v6 }9 z: r1 i
      for(int i=1;i<=b;i++)
    , c( z6 U9 ~* q0 V5 A- @- O  {
    7 @( g1 M# ^. d5 `     char c=str;
    # ^4 \' G0 X4 d2 }: \     int check=isdigit(c);8 a2 q- S! e9 q# P& G! ^
         if(check ==0)
    3 s' k, d) W5 x     {
    1 i2 ]8 E' }) t8 @0 T' _) S       if(c!='.')5 ]/ n+ g* a9 ?7 K( D+ V7 G& R
             return false;# g, V5 N2 \" _8 C* U) W, O
           else, Y+ T8 S; s6 T, o3 l! I5 h9 U
           {) }$ \2 n- K; E9 k0 E: F1 o$ P
             m=m+1;: d& D/ z" g% m) `. P
             if(m>1)$ i9 Z; z' R$ s8 R/ L& f( Z+ q* |
               return false;* _4 x+ c3 p) n+ n' l- p  z) Y2 C
           }
    # @, g; S; Y( c: Y     }$ j' T) I4 Y! z; |& {
      }
    * X) u  D5 Q7 ~: f7 i  return true;% S- ^& j- n9 H
    }
    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的发言: ; ?! [9 Y& h4 m: c D6 e4 s4 C6 V& Z/ W1 x: m' h% R# J) [% e( _

    这样行不行?

    # J7 O' ~: G0 `! q) o. |

    bool __fastcall TForm1::isnumber(const AnsiString str)

    3 B( l" t5 v2 o* u

    try {

    - j5 c4 |& h; f

    IntToStr(str);

    7 ?, d# j; R% |# d9 @

    return true;

    ) O$ J% s' f1 S

    }

    0 I5 ^; w$ D/ y5 Q+ P7 q1 {4 u& M( E

    castch(...)

    , O+ U* O0 d* k

    {

    . y) j$ N- n+ Z

    return false;

    0 H: {0 f" p1 v u U" |2 o, P

    }

    ' J2 P* e- A3 n+ B' r+ U

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

    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-10-13 07:42 , Processed in 0.915300 second(s), 62 queries .

    回顶部