Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c++ > #14522

Re: Testing for Numeric Digits

From Ian Collins <ian-news@hotmail.com>
Newsgroups comp.lang.c++
Subject Re: Testing for Numeric Digits
Date 2012-02-27 11:11 +1300
Message-ID <9qvp10F3nfU3@mid.individual.net> (permalink)
References <MPG.29b45a9820e6ae9a9896f9@news.eternal-september.org>

Show all headers | View raw


On 02/27/12 11:05 AM, Mike Copeland wrote:
>     Is there a relatively easy and simple way to determine if a
> basic::string value is comprised only of numeric digits?  I have an
> application that parses a comma-delimited string, and I want to test if
> specific values are strictly numeric.  It was working until I got a
> mixed alphanumeric value that started with a numeric digit (e.g.
> "6btt123"), which caused the following code to fail:
>
>     int ii = atoi(wStr.c_str());

Never use atoi(), it has now way to indicate failure.  Use strtol() and 
check errno.


>     if(ii)        // numeric processing
>     {
>        // expecting purely numeric value in "ii"
> [etc.]
>     }
>     else         // alphanumeric processing
>     {
>        // process alphanumeric data
>     }
> when it fell into the numeric processing branch.
>     I know that I could examine the contents of the "wStr" string
> character-by-character to test if each character is a digit character,
> but that seems slow and inefficient.  Is there a better way to do such
> processing?  Thoughts?  TIA

What are you reading form?  iterating a sting is orders of magnitude 
faster than reading from a file.

-- 
Ian Collins

Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Testing for Numeric Digits mrc2323@cox.net (Mike Copeland) - 2012-02-26 15:05 -0700
  Re: Testing for Numeric Digits Ian Collins <ian-news@hotmail.com> - 2012-02-27 11:11 +1300
    Re: Testing for Numeric Digits Ian Collins <ian-news@hotmail.com> - 2012-02-27 11:22 +1300
      Re: Testing for Numeric Digits Paul <pchristor@yahoo.co.uk> - 2012-02-26 16:45 -0800
        Re: Testing for Numeric Digits "MikeWhy" <boat042-nospam@yahoo.com> - 2012-02-28 03:17 -0600
          Re: Testing for Numeric Digits Paul <pchristor@yahoo.co.uk> - 2012-02-28 03:30 -0800
          Re: Testing for Numeric Digits Marc <marc.glisse@gmail.com> - 2012-02-28 15:19 +0000
            Re: Testing for Numeric Digits "MikeWhy" <boat042-nospam@yahoo.com> - 2012-02-28 11:04 -0600
          Re: Testing for Numeric Digits Andy Champ <no.way@nospam.invalid> - 2012-02-28 20:44 +0000
  Re: Testing for Numeric Digits Miles Bader <miles@gnu.org> - 2012-02-27 10:23 +0900
  Re: Testing for Numeric Digits scott@slp53.sl.home (Scott Lurndal) - 2012-02-27 17:22 +0000
  Re: Testing for Numeric Digits Dombo <dombo@disposable.invalid> - 2012-02-27 20:29 +0100
  Re: Testing for Numeric Digits Quint Rankid <qbr567@gmail.com> - 2012-02-28 11:43 -0800

csiph-web