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

3 投票
1 回答
2654 浏览
提问于 2025-04-17 16:19

我想做的是检查一个字符串是否是数字,也就是浮点数,但我找不到合适的字符串属性来做到这一点。也许根本就没有这样的属性。我在这段代码上遇到了问题:

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

如你所见,我需要的是提取出所有的数字,无论是小数还是浮点数。N.isdecimal() 并不能解决我想要解决的问题。

1 个回答

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

这段代码试图把N转换成一个float(浮点数)。不过,如果转换不成功(比如说N不是一个数字),它就会pass(什么都不做)。

我建议你去看看关于tryexcept的内容。

你也可以这样做:

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

撰写回答