¿Cómo convierto una cadena a un doble en Python?

Respuestas:

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

Ahí tienes. Use float (que se comporta como y tiene la misma precisión que un doble C, C ++ o Java).

Mangosta
fuente
38
O, más específicamente, los flotadores de Python son Dobles en C.
habnabit
1
Bah usó flotador en lugar de doble. ahora mi código está desactivado por .0000000001 que duele
Evorlor
2
dicho sea de paso, esto también funciona con notación de exponente. por ejemplo: float('7.5606e-08')produce el flotador de python esperado.
drevicko
2
Con mi python (versión 2.7.10), cuando asigno >>> x = "2342.34" y convierto a flotante >>> float(x) , obtengo 2342.34el 2342.3400000000001informe de @Mongoose
Bruce_Warrior
Uso >>> 0.1 + 0.2para doble. >>> 0.1 + 0.6para flotador
user1510539
50

El operador decimal puede estar más en línea con lo que está buscando:

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