App下載

python 如何將帶小數(shù)的浮點(diǎn)型字符串轉(zhuǎn)換為整數(shù)

玉面郎君 2021-08-19 15:02:16 瀏覽數(shù) (4593)
反饋

在python中,基本數(shù)據(jù)類型之間的轉(zhuǎn)換是有一定規(guī)則的,比如帶小數(shù)的浮點(diǎn)型字符串轉(zhuǎn)換為整數(shù),就會(huì)出現(xiàn)一個(gè)錯(cuò)誤,那么python的基本數(shù)據(jù)類型之間的轉(zhuǎn)換的規(guī)則是怎樣的呢?今天小編就帶你來了解一下。

以下內(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)整型問題

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)型字符串無法直接轉(zhuǎn)int類型

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持W3Cschool。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。


0 人點(diǎn)贊