📌  相关文章
📜  程序检查N是否是一个十进制数(1)

📅  最后修改于: 2023-12-03 15:27:21.885000             🧑  作者: Mango

程序检查N是否是一个十进制数

在编程过程中,有时需要判断一个字符串是否是十进制数,本文将介绍两种常用方法。

方法一:正则表达式

使用正则表达式判断是否为十进制数,具体实现如下:

import re

def is_decimal(x):
   pattern = "^[0-9]+$"
   return re.match(pattern, x) != None

这里使用了Python自带的re库,匹配数字开始到结束。

方法二:使用内置函数

Python中提供了内置函数,可以快速判断一个字符串是否全为数字,具体实现如下:

def is_decimal(x):
   return x.isdecimal()

isdecimal()函数返回True,当且仅当字符串中全是数字字符,否则返回False。

性能比较

在Python3.6中,测试了两个方法的性能,其中用了timeit模块,每个方法执行1000次。

import timeit

def test_regex():
   is_decimal("1234567890")

def test_builtin():
   "1234567890".isdecimal()

print("regex:", timeit.timeit(test_regex, number=1000))
print("builtin:", timeit.timeit(test_builtin, number=1000))

运行结果:

regex: 0.01894399500098757
builtin: 0.0011521280001909925

可以看到,内置函数的性能比正则表达式更快。

总结

判断一个字符串是否是十进制数,可以使用正则表达式或内置函数。内置函数的性能更好,建议使用内置函数进行判断。