check on numerical value?

Jeff Epler jepler at
Thu Jun 6 14:59:03 CEST 2002

You could see if eg float() will handle it:
    def isfloat(s):
        except ValueError:
            return False
            return True
This method will work on any type that defines a __float__ method as
well (eg an instance of a rational number class)

Or you could check it against a regular expression (only good for
strings, obviously):
    import re, tokenize
    _isfloat_re = re.compile(tokenize.Number + "$")
    def isfloat(s):
        if _isfloat_re.match(s): return True
        else: return False

(tokenize.Number recognizes hex, octal, and decimal integer constants;
floating point constants with and without exponents; and imaginary
numbers with the "J" or "j" suffix.  You might prefer to use
    DecFloat =, tokenize.ExpFloat,
    _isfloat_re = re.compile(DecFloat + "$")

(True and False may not appear in your version of Python.  Substitute 1
and 0 if they're not there)


More information about the Python-list mailing list