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