python 如何將帶小數的浮點型字符串轉換為整數

以下內容在python中完全可以接受:

1、將整數的字符串表示形式傳遞給 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 字符串浮點型轉整型問題

ValueError: invalid literal for int() with base 10

復原錯誤:

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))

錯誤原因

浮點型字符串無法直接轉int類型

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: