Hur analyserar jag en sträng till en float eller int?

Hur kan jag i Python analysera en numerisk sträng som "545.2222" till motsvarande floatvärde, 545.2222? Eller analysera strängen "31" till ett heltal, 31?

Jag vill bara veta hur man analyserar en float str till en float, och (separat) en int str till en int.

Lösning
>>> a = "545.2222"
>>> float(a)
545.22220000000004
>>> int(float(a))
545
Kommentarer (7)

Användarna codelogic och harley har rätt, men tänk på att om du vet att strängen är ett heltal (till exempel 545) kan du kalla int("545") utan att först kasta till float.

Om dina strängar finns i en lista kan du också använda map-funktionen.

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

Det är bara bra om de alla är av samma typ.

Kommentarer (1)

float("545.2222") och int(float("545.2222"))

Kommentarer (1)