欢迎访问宙启技术站
智能推送

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()函数进行检查。