Best way to check if string is an integer?

ernie ernesto.adorio at gmail.com
Sun Apr 6 00:18:28 EDT 2008


On Apr 6, 10:23 am, Roy Smith <r... at panix.com> wrote:
> In article <mailman.2927.1207447793.9267.python-l... at python.org>,
>  Steve Holden <st... at holdenweb.com> wrote:
>
> > > This doesn't cater for negative integers.
>
> > No, it doesn't, but
>
> > s.isdigit() or (s[0] in "+-" and s[1:].isdigit) # untested
>
> > does.
>
> I think this fails on "   -1".  So, then you start doing
> s.strip().isdigit(), and then somebody else comes up with some other
> unexpected corner case...
>
> int(s) and catching any exception thrown just sounds like the best way.

Another corner case: Is "5.0" an integer or treated as one?

regards,
ernie



More information about the Python-list mailing list