¿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).


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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.