是否有内置方法来检查字符串是否可以转换为浮点数?

我知道有一些方法可以检查 str 是否可以使用 try- except 或正则表达式进行转换,但我一直在寻找(例如) str 方法,例如


str.isnumeric()

str.isdigit()

str.isdecimal() # also doesn't work for floats

但找不到任何。还有我还没找到的吗?


GCT1015
浏览 71回答 3
3回答

慕标琳琳

我建议使用 try except 子句请求宽恕而不是许可方法:str_a = 'foo'str_b = '1.2'def make_float(s):    try:        return float(s)    except ValueError:        return f'Can't make float of "{s}"'>>> make_float(str_a)Can't make float of "foo">>> make_float(str_b)1.2

www说

Try except 子句的形式如下:try:    # write your code    passexcept Exception as e: # which can be ValueError, or other's exceptions    # deal with Exception, and it can be called using the variable e    print(f"Exception was {e}") # python >= 3.7    passexcept Exception as e: # for dealing with other Exception    pass# ... as many exceptions you would need to handlefinally:    # do something after dealing with the Exception    pass

萧十郎

最简单的方法就是尝试将其变成浮动。try:    float(str)except ValueError:    # not floatelse:    # is float
打开App,查看更多内容
随时随地看视频慕课网APP