如何验证字符串是否为有效的浮点数?

时间:2013-02-19 02:07:46

标签: python string validation numbers

我想要做的是验证字符串是否为数字 - 浮点数 - 但我没有找到字符串属性来执行此操作。也许没有一个。我对此代码有疑问:

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

正如你所看到的,我需要的是只取十进制数或浮点数。 N.isdecimal()无法解决我想到的问题。

1 个答案:

答案 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