Bir dizeyi float veya int olarak nasıl ayrıştırabilirim?

Python'da, "545.2222" gibi bir sayısal dizeyi karşılık gelen float değeri olan 545.2222ye nasıl ayrıştırabilirim? Ya da "31" dizesini bir tamsayı olan 31 değerine nasıl ayrıştırabilirim?

Sadece bir float strnin bir floata ve (ayrı olarak) bir int strnin bir inte nasıl ayrıştırılacağını bilmek istiyorum.

Çözüm
>>> a = "545.2222"
>>> float(a)
545.22220000000004
>>> int(float(a))
545
Yorumlar (7)

Kullanıcılar codelogic ve harley doğrudur, ancak dizenin bir tamsayı olduğunu biliyorsanız (örneğin, 545) önce float'a dönüştürmeden int("545") diyebileceğinizi unutmayın.

Dizeleriniz bir liste halindeyse, map işlevini de kullanabilirsiniz.

>>> x = ["545.0", "545.6", "999.2"]
>>> map(float, x)
[545.0, 545.60000000000002, 999.20000000000005]
>>>

Sadece hepsi aynı türden olursa iyi olur.

Yorumlar (1)

float("545.2222") ve int(float("545.2222"))

Yorumlar (1)