isfloat()が文字列に優しくなかったり
ちょっと不便な感じだったので・・。
def isfloatable(value):
if type(value) == float :
return True
elif type(value) == str or type(value) == int:
try:
float(value)
return True
except ValueError:
return False
else:
return False
>>> print( isfloatable(10) )
True
>>> print( isfloatable("10") )
True
>>> print( isfloatable(10.1) )
True
>>> print( isfloatable("10.1") )
True
>>> print( isfloatable("10.1a") )
False
>>> print( isfloatable("a") )
False
>>> print( isfloatable("") )
False