Comment analyser une chaîne de caractères pour obtenir une valeur flottante ou un nombre entier ?

En Python, comment puis-je analyser une chaîne numérique comme "545.2222" en sa valeur flottante correspondante, "545.2222" ? Ou bien analyser la chaîne de caractères "31" en un nombre entier, 31 ?

Je veux juste savoir comment analyser une chaîne float str en un float, et (séparément) une chaîne int str en un int.

Solution
>>> a = "545.2222"
>>> float(a)
545.22220000000004
>>> int(float(a))
545
Commentaires (7)

Les utilisateurs codelogic et harley ont raison, mais gardez à l'esprit que si vous savez que la chaîne est un entier (par exemple, 545), vous pouvez appeler int("545") sans passer d'abord en flottant.

Si vos chaînes de caractères sont dans une liste, vous pouvez également utiliser la fonction map.

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

Elle n'est bonne que si elles sont toutes du même type.

Commentaires (1)

float("545.2222") et int(float("545.2222"))

Commentaires (1)