How do I check if a string is a number (float)?

后端 未结 30 4589
暗喜
暗喜 2020-11-21 05:16

What is the best possible way to check if a string can be represented as a number in Python?

The function I currently have right now is:

def is_numb         


        
30条回答
  •  南旧
    南旧 (楼主)
    2020-11-21 05:39

    import re
    def is_number(num):
        pattern = re.compile(r'^[-+]?[-0-9]\d*\.\d*|[-+]?\.?[0-9]\d*$')
        result = pattern.match(num)
        if result:
            return True
        else:
            return False
    
    
    ​>>>: is_number('1')
    True
    
    >>>: is_number('111')
    True
    
    >>>: is_number('11.1')
    True
    
    >>>: is_number('-11.1')
    True
    
    >>>: is_number('inf')
    False
    
    >>>: is_number('-inf')
    False
    

提交回复
热议问题