今天聊一下6 – 检测一个字符串是否可以转换为数字

1. 如何检测字符串是否为数字(数字和字母的混合形式)

s1 = '12345'
print('是数字: ', s1.isdigit())

print(int(s1))

是数字:  True

12345

s2 = '12345a'
print('12345a是数字:', s2.isdigit())
print('12345a是字母数字混合形式:', s2.isalnum()) 

12345a是数字: False

12345a是字母数字混合形式: True

s3 = '12_345a'
print('12_345a是字母数字混合形式:', s3.isalnum())

print(' '.isspace())
# 检测字符串是否为整数
print('12.45'.isdecimal())
# 检测字符串是否为字符
print('abcd3'.isalpha())

12_345a是字母数字混合形式: False

True

False

False

2. 怎样将一个字符串转换为数字才安全

s1 = '1234'
print(int(s1))

s2 = 'a1234'
# 抛出异常
# print(int(s2))

if s2.isdigit():
    print(int(s2))
else:
    print('s2 不是数字,无法转换')
    
try:
    print(int('222aaa'))
except Exception as e:
    print('222aaa 不是数字,无法转换')
    print(e)

1234

s2 不是数字,无法转换

222aaa 不是数字,无法转换

invalid literal for int() with base 10: '222aaa'

  • 检测字符串是否为数字:isdigit
  • 检测字符串是否为数字和字母混合:isalnum
正文完