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

23 浏览
0 Comments

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

这个问题已经有了答案:

检查字符串是否为实数[重复]

我想做的是验证一个字符串是否为数字-浮点数-但我没有找到一个字符串属性来做这件事。也许没有这样一个属性。我有问题的代码如下:

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

正如你所看到的,我需要的只是数字,无论是小数还是浮点数。N.isdecimal()无法解决我所想到的问题。

admin 更改状态以发布 2023年5月20日
0
0 Comments

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

这会试图将N转换为float。但是,如果不可能(因为它不是一个数字),它将会pass(不做任何事情)。

我建议你阅读关于tryexcept的相关内容。

你也可以这样做:

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

0