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