zoukankan      html  css  js  c++  java
  • python中如何判断一个字符串是否可以转换为数字

    方法一: isdigit() 不可识别汉字 小数类型
    str1 = '1'
    
    str2 = '2.1'
    
    str3 = ''
    
    str4 = '3.3.3.3'
    
    print(str1.isdigit())
    
    print(str2.isdigit())
    
    print(str3.isdigit())
    
    print(str4.isdigit())

    结果:
    True
    False
    False
    False
    方法二: isdecimal() 没有与方法一发现区别
    str1 = '1'
    
    str2 = '2.1'
    
    str3 = ''
    
    str4 = '3.3.3.3'
    
    print(str1.isdecimal())
    
    print(str2.isdecimal())
    
    print(str3.isdecimal())
    
    print(str4.isdecimal())
    
    结果:
    True
    False
    False
    False
    方法三: isnumeric() 可以识别汉字
    str1 = '1'
    
    str2 = '2.1'
    
    str3 = ''
    
    str4 = '3.3.3.3'
    
    print(str1.isnumeric())
    
    print(str2.isnumeric())
    
    print(str3.isnumeric())
    
    print(str4.isnumeric())
    
    结果:
    True
    False
    True
    False

    那么如何识别浮点型数字的字符串呢?我引用了菜鸟教程上的一个函数:

    def is_number(s):
        try:
            float(s)
            return True
        except ValueError:
            pass
     
        try:
            import unicodedata
            unicodedata.numeric(s)
            return True
        except (TypeError, ValueError):
            pass
     
        return False
  • 相关阅读:
    线段树(已修改+补题
    畅通工程
    线段树
    charles
    flash
    mysql node pool
    node简单操作mysql的类
    小于任意数字的随机数
    文件系统的移植
    驱动
  • 原文地址:https://www.cnblogs.com/dancesir/p/13815350.html
Copyright © 2011-2022 走看看