我想要做的是验证字符串是否为数字 - 浮点数 - 但我没有找到字符串属性来执行此操作。也许没有一个。我对此代码有疑问:
N = raw_input("Ingresa Nanometros:");
if ((N != "") and (N.isdigit() or N.isdecimal())):
N = float(N);
print "%f" % N;
正如你所看到的,我需要的是只取十进制数或浮点数。 N.isdecimal()
无法解决我想到的问题。
答案 0 :(得分:10)
try:
N = float(N)
except ValueError:
pass
except TypeError:
pass
这会尝试将N
转换为float
。但是,如果不可能(因为它不是数字),它将pass
(什么也不做)。
我建议您阅读try
and except
blocks。
你也可以这样做:
try:
N = float(N)
except (ValueError, TypeError):
pass