前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在python中判断一个字符串是否可以转换为数字

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

原创
作者头像
Python学习者
发布2024-04-17 15:59:07
1870
发布2024-04-17 15:59:07
举报
文章被收录于专栏:Python学习者Python学习者

方法一: isdigit() 不可识别汉字 小数类型

代码语言:python
代码运行次数:0
复制
str1 = '1'

str2 = '2.1'

str3 = '三'

str4 = '3.3.3.3'

print(str1.isdigit())

print(str2.isdigit())

print(str3.isdigit())

print(str4.isdigit())

结果:

代码语言:python
代码运行次数:0
复制
True
False
False
False

方法二: isdecimal() 没有与方法一发现区别

代码语言:python
代码运行次数:0
复制
str1 = '1'

str2 = '2.1'

str3 = '三'

str4 = '3.3.3.3'

print(str1.isdecimal())

print(str2.isdecimal())

print(str3.isdecimal())

print(str4.isdecimal())

结果:

代码语言:python
代码运行次数:0
复制
True
False
False
False

方法三: isnumeric() 可以识别汉字

代码语言:python
代码运行次数:0
复制
str1 = '1'

str2 = '2.1'

str3 = '三'

str4 = '3.3.3.3'

print(str1.isnumeric())

print(str2.isnumeric())

print(str3.isnumeric())

print(str4.isnumeric())

结果:

代码语言:python
代码运行次数:0
复制
True
False
True
False

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

代码语言:python
代码运行次数:0
复制
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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方法一: isdigit() 不可识别汉字 小数类型
  • 方法二: isdecimal() 没有与方法一发现区别
  • 方法三: isnumeric() 可以识别汉字
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档