如何检查字符串是否可以在Python中进行类型转换以浮动?

And*_*rew 26 python floating-point

是否有一些功能,str.isnumeric但适用于浮动?

'13.37'.isnumeric() #False  
Run Code Online (Sandbox Code Playgroud)

我还是用这个:

def isFloat(string):
    try:
        float(string)
        return True
    except ValueError:
        return False
Run Code Online (Sandbox Code Playgroud)

Jon*_*ric 12

正如Imran所说,你的代码绝对没问题如图所示.

然而,它确实鼓励客户isFloat降低"先走后跳"的路径而不是更多Pythonic"更容易请求宽恕而不是权限"的路径.

客户端假设他们有一个表示浮点数的字符串,但是准备好处理将被抛出的异常,它更像是Pythonic.

这种方法也有一个很好的副作用,即将字符串转换为浮点数而不是两次.

  • +1:@pingvinus:请不要浪费时间写这些东西.只需编写您的真实应用程序 如果它抛出一个`ValueError`,这意味着输入不是有效的float,整个异常处理程序可以报告这个.没有必要预先检查浮点值,因为`float`函数可以在需要时执行此操作.永远正确. (3认同)