Hoe parseer ik een string naar een float of int?

Hoe kan ik in Python een numerieke string als "545.2222" omzetten naar de corresponderende float waarde, 545.2222? Of de string "31" parsen naar een geheel getal, 31?

Ik wil alleen weten hoe ik een float str kan parsen naar een float, en (apart) een int str naar een int.

Oplossing
>>> a = "545.2222"
>>> float(a)
545.22220000000004
>>> int(float(a))
545
Commentaren (7)

Gebruikers codelogic en harley hebben gelijk, maar onthoud dat als je weet dat de string een geheel getal is (bijvoorbeeld 545), je int("545") kunt aanroepen zonder eerst te casten naar float.

Als je strings in een lijst staan, zou je ook de map functie kunnen gebruiken.

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

Het is alleen goed als ze'allemaal van hetzelfde type zijn.

Commentaren (1)

float("545.2222") en int(float("545.2222"))

Commentaren (1)