Python中将字符串转换为数字的方法:使用int()函数或float()函数
发布时间:2023-06-04 19:15:34
Python中的数字类型有整型(int)、浮点型(float)和复数(complex),在Python中,可以使用int()函数或float()函数将字符串转换为数字。
1. 使用int()函数将字符串转换为整数
int()函数可以将字符串转换为整数。如果字符串中包含非数字字符,则会引发一个ValueError异常。可以使用try-except语句来捕获这个异常。
例如:
str_num = '123' num = int(str_num) print(num)
运行结果:
123
如果字符串中包含非数字字符,例如:
str_num = '123abc' num = int(str_num) print(num)
运行结果:
ValueError: invalid literal for int() with base 10: '123abc'
可以使用try-except语句来捕获这个异常:
str_num = '123abc'
try:
num = int(str_num)
except ValueError:
print("无法将字符串转换为整数")
运行结果:无法将字符串转换为整数
2. 使用float()函数将字符串转换为浮点数
float()函数可以将字符串转换为浮点数。与int()函数一样,如果字符串中包含非数字字符,则会引发一个ValueError异常。
例如:
str_num = '123.45' num = float(str_num) print(num)
运行结果:
123.45
如果字符串中包含非数字字符,例如:
str_num = '123.45abc' num = float(str_num) print(num)
运行结果:
ValueError: could not convert string to float: '123.45abc'
可以使用try-except语句来捕获这个异常:
str_num = '123.45abc'
try:
num = float(str_num)
except ValueError:
print("无法将字符串转换为浮点数")
运行结果:无法将字符串转换为浮点数
3. 为避免发生异常,可以使用isdigit()函数进行检查
isdigit()函数可以检查一个字符串是否仅包含数字字符。如果返回True,则说明字符串可以转换为数字。
例如:
str_num = '123'
if str_num.isdigit():
num = int(str_num)
print(num)
else:
print("字符串不是数字字符")
运行结果:
123
如果字符串中包含非数字字符,例如:
str_num = '123abc'
if str_num.isdigit():
num = int(str_num)
print(num)
else:
print("字符串不是数字字符")
运行结果:
字符串不是数字字符
使用isdigit()函数进行检查可以避免引发异常。但是需要注意的是,isdigit()函数仅能检查字符串是否由数字字符组成,不能验证字符串是否是一个有效的数字。
总结
在Python中,可以使用int()函数或float()函数将字符串转换为数字。如果字符串中包含非数字字符,则会引发ValueError异常,可以使用try-except语句进行捕获。为避免发生异常,可以使用isdigit()函数进行检查。
