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
  • 相关阅读:
    Markdown常用写法
    Vue.js学习篇
    ClassLoader
    Java内存篇
    Spring-AOP学习篇
    M3U8Downloader
    IngCrawler
    ulimit开启coredump时核心转储
    Linux下的bc计算器
    Maven相关介绍
  • 原文地址:https://www.cnblogs.com/dancesir/p/13815350.html
Copyright © 2011-2022 走看看