3

我想要做的是验证一个字符串是否是数字——一个浮点数——但我还没有找到一个字符串属性来做到这一点。也许没有。我对这段代码有疑问:

N = raw_input("Ingresa Nanometros:");
if ((N != "") and (N.isdigit() or N.isdecimal())):
    N = float(N);
    print "%f" % N;

如您所见,我需要的是只取数字,十进制或浮点数。N.isdecimal()不能解决我想到的问题。

4

1 回答 1

10
try:
    N = float(N)
except ValueError:
    pass
except TypeError:
    pass

这会尝试转换Nfloat. 但是,如果不可能(因为它不是数字),它将pass(什么也不做)。

我建议你阅读一下tryexceptblocks

你也可以这样做:

try:
    N = float(N)
except (ValueError, TypeError):
    pass
于 2013-02-19T02:08:59.347 回答