QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4243|回复: 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)
    0 B- t3 b$ S4 _' f0 }  {{
    : O8 G! R% {  A, M; Z/ @  int m=0;
    2 [1 c5 Z8 a7 u6 H* _7 g9 L  int b=str.Length();
    " k8 v, W3 B( H( \" w) p  for(int i=1;i<=b;i++)' ]9 D; I5 E7 t7 H2 W& t
      {( ?$ L2 V$ S, Y4 [% M
         char c=str;9 v- J+ Z  c5 x) E6 K8 t
         int check=isdigit(c);/ Z$ J  M, j  ?* Y. t$ C7 U( W
         if(check ==0)
    * Y+ \" W/ ?& E/ b7 Q5 ?8 e     {3 @4 r- F" L+ l
           if(c!='.')5 B% `/ @  s: {4 x7 c
             return false;
    ( v, b' u( `5 i7 Z  [+ l* l% r       else  D- S' {* V( ?7 ^# {4 G
           {
    ( k6 s4 K8 s$ O+ C# i6 @         m=m+1;' X/ a( z. p% E0 W
             if(m>1)' p2 C/ K# P' R
               return false;
    ! a7 M4 @2 U& g% I) X( |( ~       }
    / [+ O% D9 ^% E, B9 G     }9 ?' j6 L! d" L$ y  X/ P: n
      }
    7 t3 P' u% M0 K% s9 |+ U  return true;/ v9 _; D: r5 x: f' a
    }
    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的发言: - z4 n* q3 L: ~. w/ X 2 A* a! `3 i& z1 E' a7 y( T

    这样行不行?

    . S/ T" N# @; {9 ~

    bool __fastcall TForm1::isnumber(const AnsiString str)

    3 n [" B: K8 ]( P$ {

    try {

    , w; z$ ]* X& W. }2 ?- F

    IntToStr(str);

    1 a5 X, ~4 Z7 @0 D% Y4 |( y5 D) ]

    return true;

    1 R' `) d' H) V% P

    }

    ; C7 H4 `8 |# y. `2 ^5 B+ w1 `

    castch(...)

    . p @- }/ ?$ q9 Y1 r: G

    {

    6 ~, f( d# |7 |, z

    return false;

    9 c& B' y2 X" R3 g2 C! n

    }

    ' m2 ?: Z- z+ P$ a$ K

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

    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-8-23 20:16 , Processed in 0.406841 second(s), 63 queries .

    回顶部