Come posso analizzare una stringa in un float o int?

In Python, come posso analizzare una stringa numerica come "545.2222" al suo corrispondente valore float, 545.2222? O analizzare la stringa "31" in un intero, 31?

Voglio solo sapere come analizzare un float str in un float, e (separatamente) un int str in un int.

Soluzione
>>> a = "545.2222"
>>> float(a)
545.22220000000004
>>> int(float(a))
545
Commentari (7)

Gli utenti codelogic e harley sono corretti, ma tenete a mente che se sapete che la stringa è un intero (per esempio, 545) potete chiamare int("545") senza prima fare il casting a float.

Se le vostre stringhe sono in una lista, potreste usare anche la funzione map.

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

Va bene solo se sono tutte dello stesso tipo.

Commentari (1)

float("545.2222") e int(float("545.2222"))

Commentari (1)