Python 判断字符串是否为数字

返回上一级

下面的代码通过创建自定义函数 is_number() 方法来判断字符串是否为数字:

实例(Python 3.0+)

# Filename : main.py
# author by : www.twle.cn

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

# 测试字符串和数字
print(is_number('foo'))   # False
print(is_number('1'))     # True
print(is_number('1.3'))   # True
print(is_number('-1.37')) # True
print(is_number('1e3'))   # True

# 测试 Unicode
# 阿拉伯语 5
print(is_number('٥'))  # True
# 泰语 2
print(is_number('๒'))  # True
# 中文数字
print(is_number('四')) # True
# 版权号
print(is_number('©'))  # False

我们也可以使用内嵌 if 语句来实现:

运行这段代码,输出结果如下:

False
True
True
True
True
True
True
True
False

更多方法

方法 说明
isdigit() 检测字符串是否只由数字组成
isnumeric() 检测字符串是否只由数字组成。这种方法是只针对 unicode 对象

返回上一级

Python3 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.