¿Cómo puedo convertir una cadena como "123,456.908" en el número de flotador 123456.908 en Python? Muchas gracias.¿Cómo puedo convertir una cadena con punto y coma en un número flotante en Python?
Respuesta
Basta con retirar la ,
con replace()
:
float("123,456.908".replace(',',''))
esto depende de la configuración regional. 9 988 776,65 € en Francia 9.988.776,65 € en Alemania $ 9,988,776.65 en los Estados Unidos –
s = "123,456.908"
print float(s.replace(',', ''))
¿Y esto?
my_string = "123,456.908"
commas_removed = my_string.replace(',', '') # remove comma separation
my_float = float(commas_removed) # turn from string to float.
En resumen:
my_float = float(my_string.replace(',', ''))
Aquí está una manera sencilla que escribí para ti. :)
>>> number = '123,456,789.908'.replace(',', '') # '123456789.908'
>>> float(number)
123456789.908
're' es un gran martillo para tal tarea. –
@Roman: Sí, me di cuenta y lo solucioné. :) –
@John Doe: Se ve mucho mejor ahora. Me gusta 'flotar (número)' por su toque descriptivo. +1 ;-) – Aufwind
... O en lugar de tratar las comas como la basura que va a filtrarse hacia fuera, podríamos tratar a la cadena global como un formato localizada del flotador, y el uso de los servicios de localización:
from locale import *
setlocale(LC_NUMERIC, '') # set to your default locale; for me this is
# 'English_Canada.1252'. Or you could explicitly specify a locale in which floats
# are formatted the way that you describe, if that's not how your locale works :)
atof('123,456') # 123456.0
# To demonstrate, let's explicitly try a locale in which the comma is a
# decimal point:
setlocale(LC_NUMERIC, 'French_Canada.1252')
atof('123,456') # 123.456
La manera más pitónica e intuitiva hasta ahora. +1 – Aufwind
Volvería a votar esta respuesta si los ejemplos incluyen un punto decimal y caracteres de agrupación de dígitos en ellos ... – martineau
Bien para un script, malo para una biblioteca: 'Los módulos de extensión nunca deben llamar a setlocale()' – dangonfast
- 1. Convertir bytes en números de coma flotante en Python
- 2. Representando bien un número de coma flotante en python
- 3. ¿Cómo puedo convertir una cadena en un flotante en mysql?
- 4. ¿Puedo comparar y agregar un número de coma flotante a un número entero en C?
- 5. ¿Cómo puedo convertir una cadena en un número en Perl?
- 6. ¿Cómo convertir una medida mostrada en un formato arquitectónico en un punto flotante?
- 7. ¿Cómo cambio mi flotador en un número decimal doble con una coma como separador de punto decimal en python?
- 8. PI y precisión de un número de punto flotante
- 9. ¿Cómo puedo probar si un número de coma flotante es un número entero en haskell?
- 10. Cómo analizar manualmente un número de coma flotante de una cadena
- 11. Cómo convertir cadena a número (flotante) en Perl
- 12. Cómo convertir un binario (cadena) en un valor flotante?
- 13. Signo de un número de punto flotante
- 14. Cómo extraer un número flotante de una cadena
- 15. Convertir un número con una coma como punto decimal para flotar
- 16. jqGrid: Formato de número con coma como punto decimal
- 17. números en coma flotante - número más cercano a 1.7
- 18. Coseno en coma flotante
- 19. ¿Cómo convertir un número flotante como 293.4662543 en 293.47 en python?
- 20. En Powershell, ¿cómo puedo convertir una cadena con un "signo" final en un número?
- 21. ¿Cómo convertir una representación de cadena de un número a un número en coldfusion?
- 22. ¿Cómo puedo convertir una cadena en una lista en Python?
- 23. ¿Cuál es el siguiente número de punto flotante normalizado después de (antes) un número de punto flotante normalizado f?
- 24. Cómo representar 0.1 en punto flotante Aritmética y decimal
- 25. Punto y coma en jQuery
- 26. Convert con punto o una coma como separador decimal a número en JavaScript
- 27. Extraiga números de punto flotante de una cadena en PHP
- 28. Cómo convertir cadena en valor flotante en Android
- 29. C# Conversión de una cadena que contiene un punto flotante en un entero
- 30. ¿Convertir variable de punto flotante a entero?
La forma correcta de hacer esto es usar el módulo 'locale'; todo lo demás es solo un hack muy desagradable que te meterá en problemas en el futuro. –