在python中,基本數(shù)據(jù)類型之間的轉(zhuǎn)換是有一定規(guī)則的,比如帶小數(shù)的浮點型字符串轉(zhuǎn)換為整數(shù),就會出現(xiàn)一個錯誤,那么python的基本數(shù)據(jù)類型之間的轉(zhuǎn)換的規(guī)則是怎樣的呢?今天小編就帶你來了解一下。
以下內(nèi)容在python中完全可以接受:
1、將整數(shù)的字符串表示形式傳遞給 int
2、將float的字符串表示形式傳遞給 float
但是,如果你將float型的字符串傳遞給int將會得到錯誤。
>>> int('5') 5 >>> float('5.0') 5.0 >>> float('5') 5.0 >>> int(5.0) 5 >>> float(5) 5.0 >>> int('5.0') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: '5.0' >>> int(float('5.0'))
補充:解決python 字符串浮點型轉(zhuǎn)整型問題
ValueError: invalid literal for int() with base 10
復(fù)原錯誤:
str_a = '1.5'
int_a = int(str_a)
修正錯誤:
# 修正方式1
str_a = '1.5'
int_a = int(float(str_a))
# 修正方式2
str_a = '1.5'
int_a = int(eval(str_a))
錯誤原因
浮點型字符串無法直接轉(zhuǎn)int類型
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持W3Cschool。如有錯誤或未考慮完全的地方,望不吝賜教。