python判断是否包含数字7_Python 判断字符串是否为数字

进一步扩展到全角数字:

# 进一步扩展到全角数字

def is_number(s):

try:

float(s)

return True

except ValueError:

pass

import unicodedata

try:

unicodedata.numeric(s)

return True

except (TypeError, ValueError):

pass

if len(s) < 2:

return False

try:

d = 0

if s.startswith('-'):

s = s[1:]

for c in s:

if c == '-': # 全角减号

return False

if c == '.': # 全角点号

if d > 0:

return False

else:

d = 1

continue

unicodedata.numeric(c)

return True

except (TypeError, ValueError):

pass

return False

# 测试字符串和数字

print(f'{is_number("foo")}')

print(f'{is_number("1") }')

print(f'{is_number("1.3") }')

print(f'{is_number("-1.37") }')

print(f'{is_number("1e3") }')

print(f'{is_number("2.345.6") }')

print(f'{is_number("-5.2-8") }')

print(f'{is_number("52-8") }')

print(f'{is_number("-.5") }')

print(f'{is_number("-5.") }')

print(f'{is_number(".5") }')

# 测试Unicode

# 阿拉伯语 5

print(f'{is_number("٥") }')

# 泰语 2

print(f'{is_number("๒") }')

# 中文数字

print(f'{is_number("四") }')

print(f'{is_number("四卅") }')

# 全角数字

print(f'{is_number("123") }')

print(f'{is_number("-123") }')

print(f'{is_number("-123") }')

print(f'{is_number("12-3") }')

print(f'{is_number("123-") }')

print(f'{is_number("1.23") }')

print(f'{is_number("1.23") }')

print(f'{is_number(".23") }')

print(f'{is_number("-.23") }')

print(f'{is_number("1.23") }')

print(f'{is_number("1.2.3") }')

# 版权号

print(f'{is_number("©") }')

leaf_cq

leaf_cq

all***p@163.com6个月前 (08-05)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值