Python 带小数的浮点型字符串转换为int整数的解决方案
如果你将带小数点的float型的字符串传递给int将会得到错误:ValueError: invalid literal for int() with base 10
这属于Python类型转换中的一个需要特别注意的地方:切记int()只能转化由纯数字组成的字符串
Python基本数据类型一般分为:数字、字符串、列表、元组、字典、集合这六种基本数据类型。
数字类型包括:整数、浮点数。这两者是可以相互转换的,如下所示:
int(1.0)
float(1)
数字类型也可以与字符类型进行相互转换,如下所示:
# int类型和str类型互换
int('1')
str(1)
# float类型和str类型互换
float('1.0')
str(1.0)
但是如果将float型的字符串传递给int函数将会得到错误:
int('1.0')
# ValueError: invalid literal for int() with base 10: '1.0'
因为出现了点号,所以不符合规范,切记int()只能转化由纯数字组成的字符串。这个时候先要将字符串1.0转换成float类型再转换成int类型:
int(float('1.0'))