tipo-float-en-python

El tipo Float en Python

  • 2 min

En Python, los números de punto flotante float se utilizan para representar números reales, tanto positivos como negativos.

Estos números pueden incluir una parte fraccionaria y se representan utilizando el estándar de punto flotante IEEE 754.

Los números de punto flotante en Python se pueden declarar utilizando notación decimal estándar.

numero_float = 3.14159

También se pueden expresar números de punto flotante en notación científica, usando la letra e para indicar la potencia de diez:

numero_cientifico = 6.022e23  # 6.022 × 10^23

Operaciones con números de punto flotante

Python soporta las operaciones matemáticas básicas con números de punto flotante, como suma, resta, multiplicación y división:

# Suma
suma = 3.14 + 2.71
print(suma)  # Salida: 5.85

# Resta
resta = 10.5 - 4.2
print(resta)  # Salida: 6.3

# Multiplicación
multiplicacion = 2.5 * 4.0
print(multiplicacion)  # Salida: 10.0

# División
division = 10.0 / 3.0
print(division)  # Salida: 3.3333333333333335 (precisión limitada por la representación binaria)

Python también permite realizar otras operaciones avanzadas con números de punto flotante, como potenciación y cálculos trigonométricos usando el módulo math:

import math

# Potenciación
potencia = math.pow(2.0, 3.0)
print(potencia)  # Salida: 8.0

# Seno
seno_valor = math.sin(math.pi / 2)
print(seno_valor)  # Salida: 1.0 (seno de 90 grados en radianes)

Precisión y redondeo

Los números de punto flotante en Python tienen una precisión limitada debido a la representación binaria (esto es limitación común a la mayoría de lenguajes de programación).

Hay que tenerlo en cuenta porque puede llevar a resultados inesperados en ciertos cálculos:

# Suma con precisión limitada
suma_precisa = 0.1 + 0.2
print(suma_precisa)  # Salida: 0.30000000000000004 (precisión limitada)

Debido a la precisión limitada, las comparaciones directas entre números de punto flotante pueden no ser exactas:

a = 0.1 + 0.2
b = 0.3
print(a == b)  # Salida: False (debido a la precisión limitada)

Infinito y Not-a-Number (NaN)

Python también maneja valores especiales como infinito (inf) y Not-a-Number (NaN) para representar resultados fuera de los límites numéricos normales:

# Infinito positivo
infinito_positivo = float('inf')
print(infinito_positivo)  # Salida: inf

# Not-a-Number
nan_valor = float('nan')
print(nan_valor)  # Salida: nan

Conversión entre tipos

Es posible convertir otros tipos de datos a números de punto flotante usando la función float():

texto = "3.14"
numero_float = float(texto)
print(numero_float)  # Salida: 3.14

Los objetos float en Python también tienen métodos útiles, como is_integer() para verificar si el número es un entero:

numero = 3.0
print(numero.is_integer())  # Salida: True (el número 3.0 es un entero)