Форум сайта python.su
Как проверить, является входящая строка числом или нет, и перевести строку в число при возможности.
То есть что бы распознавало строки типа:
-0.000001
12851285.12591
и т.д.
Спасибо,
Офлайн
try:
value = float(word)
except ValueError:
value = None
Офлайн
Спасибо, я что-то втыканул немного…
Офлайн
Число довольно широкое понятие. Стандартный способ Питона произвести eval над строкой.
eval("3.3") # ok
eval("3") # ok
eval("3+3")# ok
eval("0x33")# ok
eval("0xxx33")# fail
float("3.3")# ok
float("3") # ok
float("3+3") # fail
float("0x33")# fail
float("0xxx33")# fail
Офлайн
Спасибо, но float мне лучше потому что :
>>> float("-inf")
-inf
>>> s=float("-inf")
>>> print s*100
-inf
>>> print -100*s
inf
>>> print 1/s
-0.0
>>> float ("-0")
-0.0
>>> float("-inf")+float("+inf")
nan
Офлайн