python字符串判断类型_python 中判断字符串能否转换为数字类型

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

str1 = '1'

str2 = '2.1'

str3 = '三'

str4 = '3.3.3.3'

print(str1.isdigit())

print(str2.isdigit())

print(str3.isdigit())

print(str4.isdigit())

结果:

True

False

False

False

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

str1 = '1'

str2 = '2.1'

str3 = '三'

str4 = '3.3.3.3'

print(str1.isdecimal())

print(str2.isdecimal())

print(str3.isdecimal())

print(str4.isdecimal())

结果:

True

False

False

False

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

str1 = '1'

str2 = '2.1'

str3 = '三'

str4 = '3.3.3.3'

print(str1.isnumeric())

print(str2.isnumeric())

print(str3.isnumeric())

print(str4.isnumeric())

结果:

True

False

True

False

唯独没有找到可以识别小数的.

识别小数使用try 来判断

try:

float(str2)

print('is True')

except:

print(' is False ')

try:

float(str1)

print('is True')

except:

print(' is False ')

运行结果:

is True

is True

由此可见. float对整数和小数都有效. 那么为了判断字符串到底能不能转换为数字.我们加一个方法稍稍改动一下就可以了:

def is_number(target_str):

try:

float(target_str)

return True

except:

pass

if target_str.isnumeric():

return True

return False

print(is_number(str1))

print(is_number(str2))

print(is_number(str3))

print(is_number(str4))

这样就OK拉. 快去试试吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值