I'm Sure There's A Better Way
new_name at mit.edu
Sat Jul 7 04:29:13 CEST 2001
I may still be missing some cases, I did this a bit carelessly, but I
hope you get the idea.
# Python couldn't convert it to a number, so it's not in the
# requested format.
# Check that the precision is correct
if '.' in s:
l = list(s)
assert l.count('.') == 1, \
"Can't have more than one '.' in a number"
if l.index('.') != len(s) - 3:
# Wrong precision
# Check that it begins with a number or '-' (it could start with a
if not re.match('[-0-9]', s): return None
if __name__ == '__main__':
for s in ['9', '-1', '2.30', '-2.39',]: assert isNum(s)
for s in ['.01', '1.234', 'bub', '1.', '--1']: assert not isNum(s)
More information about the Python-list