Intentar Conversión con float()
En este paso, exploraremos cómo usar la función float()
para convertir cadenas en números de punto flotante. Esto es útil cuando necesitas trabajar con números que tienen puntos decimales o están representados en notación científica.
La función float()
es una función incorporada en Python que intenta convertir su argumento en un número de punto flotante. Si el argumento es una cadena, debe ser una representación válida de un número de punto flotante.
Modifiquemos nuevamente nuestro script para usar float()
y ver cómo maneja diferentes cadenas:
-
Abre el archivo numeric_strings.py
en el editor de VS Code.
-
Modifica el código para incluir la función float()
y manejar posibles errores:
## Define some strings
string1 = "123"
string2 = "3.14"
string3 = "-42"
string4 = "0"
string5 = " 56 "
string6 = "abc"
string7 = "123.45.67"
string8 = "1e10"
## Try converting the strings to floats
strings = [string1, string2, string3, string4, string5, string6, string7, string8]
for s in strings:
try:
float_value = float(s)
print(f"String '{s}' can be converted to float: {float_value}")
except ValueError:
print(f"String '{s}' cannot be converted to float")
-
Guarda el archivo numeric_strings.py
.
-
Ejecuta el script desde la terminal:
python numeric_strings.py
Deberías ver la siguiente salida:
String '123' can be converted to float: 123.0
String '3.14' can be converted to float: 3.14
String '-42' can be converted to float: -42.0
String '0' can be converted to float: 0.0
String ' 56 ' can be converted to float: 56.0
String 'abc' cannot be converted to float
String '123.45.67' cannot be converted to float
String '1e10' can be converted to float: 10000000000.0
Como puedes ver, float()
puede convertir con éxito cadenas que representan enteros, números decimales y números en notación científica. También elimina automáticamente los espacios en blanco iniciales y finales (como se demuestra con string5
). Sin embargo, genera un ValueError
si la cadena no se puede interpretar como un número de punto flotante válido (como se demuestra con string6
y string7
).
Usar bloques try-except
nos permite manejar estos posibles errores de manera elegante y evitar que nuestro programa se bloquee. Esta es una práctica común e importante cuando se trabaja con entrada del usuario o datos de fuentes externas.