Найти - Пользователи
Полная версия: Работа со строками
Начало » Python для новичков » Работа со строками
1
solyony
Как проверить, является входящая строка числом или нет, и перевести строку в число при возможности.

То есть что бы распознавало строки типа:
-0.000001
12851285.12591
и т.д.

Спасибо,
bw
try:
value = float(word)
except ValueError:
value = None
..bw
solyony
Спасибо, я что-то втыканул немного…
doza_and
Число довольно широкое понятие. Стандартный способ Питона произвести 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
Этим я хочу сказать что в eval более широкое понимание числа. А дальше вам решать что такое число.
solyony
Спасибо, но 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
А мне это как раз и надо…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB