m0_73768288 2022-10-03 16:56 采纳率: 90%
浏览 32
已结题

如何去判断字符串能否转换为浮点数

img


不知道怎么去判断当e出现时例如010e-1也可以转换成浮点数,只会判断算是数字或者全都是字母之类的

  • 写回答

1条回答 默认 最新

  • Ko-walski 2022-10-03 17:58
    关注
    import re
    
    # 方法1
    _float_regexp = re.compile(r"^[-+]?(?:\b[0-9]+(?:\.[0-9]*)?|\.[0-9]+\b)(?:[eE][-+]?[0-9]+\b)?$").match
    def is_float_re(string):
        return True if _float_regexp(string) else False
    
    # 方法二
    def is_float_type(string):
        try:
            if isinstance(eval(string), (float, int)):
                return True
            return False
        except:
            return False
    
    
    while True:
        string = input("请输入一个数字:")
    
        print(is_float_re(string))
        print(is_float_type(string))
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月11日
  • 已采纳回答 10月3日
  • 修改了问题 10月3日
  • 创建了问题 10月3日