如何验证字符串是否为有效浮点数?
我想做的是检查一个字符串是否是数字,也就是浮点数,但我找不到合适的字符串属性来做到这一点。也许根本就没有这样的属性。我在这段代码上遇到了问题:
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
(什么都不做)。
我建议你去看看关于try
和except
块的内容。
你也可以这样做:
try:
N = float(N)
except (ValueError, TypeError):
pass