Comment convertir une chaîne en double en Python?


Réponses:


316
>>> x = "2342.34"
>>> float(x)
2342.3400000000001

Voilà. Utilisez float (qui se comporte comme et a la même précision qu'un double C, C ++ ou Java).


38
Ou, plus précisément, les flotteurs Python sont des doubles C.
habnabit

1
Bah a utilisé un flotteur au lieu du double. maintenant mon code est désactivé par .0000000001 ce qui fait mal
Evorlor

2
d'ailleurs, cela fonctionne également avec la notation des exposants. par exemple: float('7.5606e-08')produit le flottant python attendu.
drevicko

2
Avec mon python (version 2.7.10), lorsque j'attribue >>> x = "2342.34" et convertis en float, >>> float(x) j'obtiens à la 2342.34place le 2342.3400000000001rapport de @Mongoose
Bruce_Warrior

Utilisez >>> 0.1 + 0.2pour double. >>> 0.1 + 0.6pour flotteur.
user1510539

50

L'opérateur décimal pourrait être plus conforme à ce que vous recherchez:

>>> from decimal import Decimal
>>> x = "234243.434"
>>> print Decimal(x)
234243.434

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.