Parte 8 — Conversiones de datos
6.39 ¿Qué es convertir un dato?
Convertir significa transformar un valor de un tipo a otro.
Por ejemplo:
"1000" → 1000
El primer valor es texto.
El segundo es un número entero.
Python incluye funciones para realizar conversiones:
Función Conversión str() Convierte a texto int() Convierte a entero float() Convierte a decimal bool() Convierte a booleano 6.40 Convertir texto a entero saldo_texto = "1000" saldo_numero = int(saldo_texto)
print(saldo_numero) print(type(saldo_numero))
Resultado:
1000 <class 'int'>
Ahora podemos utilizarlo en operaciones:
saldo_texto = "1000" saldo = int(saldo_texto)
saldo += 500
print(saldo)
Resultado:
1500 6.41 Convertir texto decimal precio_texto = "10.50" precio = float(precio_texto)
print(precio) print(type(precio))
Resultado:
10.5 <class 'float'> 6.42 Convertir entero a decimal saldo_entero = 1000 saldo_decimal = float(saldo_entero)
print(saldo_decimal)
Resultado:
1000.0
El valor ahora es float.
6.43 Convertir decimal a entero precio = 10.75 precio_entero = int(precio)
print(precio_entero)
Resultado:
10
int() elimina la parte decimal.
No redondea automáticamente al entero más cercano.
Otro ejemplo:
numero = 19.99
print(int(numero))
Resultado:
19
Debes tener cuidado al convertir cantidades financieras de esta manera.
6.44 Convertir un número a texto saldo = 1000 saldo_texto = str(saldo)
print(saldo_texto) print(type(saldo_texto))
Resultado:
1000 <class 'str'>
Esto puede ser útil para construir mensajes.
6.45 Combinar texto y números
Este código produce un error:
saldo = 1000
mensaje = "Saldo: " + saldo
Python no puede concatenar directamente un str y un int.
Podemos convertir el número:
saldo = 1000
mensaje = "Saldo: " + str(saldo)
print(mensaje)
Resultado:
Saldo: 1000
También podemos utilizar comas con print():
saldo = 1000
print("Saldo:", saldo)
Esta forma es más sencilla por ahora.
6.46 No todos los textos pueden convertirse
Esto funciona:
numero = int("100")
Esto no funciona:
numero = int("hola")
Python mostrará un error porque "hola" no representa un número entero.
6.47 Decimales con coma
Esto produce un error:
precio = float("10,50")
Python espera un punto decimal:
precio = float("10.50")
Cuando aprendamos input(), veremos cómo validar información antes de convertirla.
6.48 Convertir "10.5" directamente a int
Este código produce un error:
numero = int("10.5")
Aunque el texto representa un decimal, no representa directamente un entero.
Podríamos hacer:
numero_decimal = float("10.5") numero_entero = int(numero_decimal)
print(numero_entero)
Resultado:
10
Pero recuerda que la conversión elimina la parte decimal.