如何在python中判断一个字符串是否可以转换为数字

举报
python教程 发表于 2024/04/17 15:59:43 2024/04/17
【摘要】 方法一: isdigit() 不可识别汉字 小数类型str1 = '1'str2 = '2.1'str3 = '三'str4 = '3.3.3.3'print(str1.isdigit())print(str2.isdigit())print(str3.isdigit())print(str4.isdigit())结果:TrueFalseFalseFalse 方法二: isdecimal(...

方法一: 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())
#学习中遇到问题没人解答?小编创建了一个Python学习交流群:711312441

结果:

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
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。