ValueError: invalid literal for int() with base 10

有时候需要用int()函数转换字符串为整型,但是切记int()只能转化由纯数字组成的字符串. 非纯数字组成的字符串强转为整型会报错:ValueError: invalid literal for int() with base 10

str1='3.1415926'

#转换为整数类型
int(str1)
'''
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
 in 
----> 1 int(str1)

ValueError: invalid literal for int() with base 10: '3.1415926'
'''
str2='345678'

#转换为整数类型
int(str2)
'''
345678
'''
str3='abc'

#转换为整数类型
int(str3)
'''
ValueError                                Traceback (most recent call last)
 in 
----> 1 int(str3)

ValueError: invalid literal for int() with base 10: 'abc'
'''

 

浮点数转换为整数的方法 

int(1.8)
#1

#更稳妥的做法
int(float('1.8'))
#1

 

你可能感兴趣的:(Bug,python,字符串)