Language: EN

tipo-float-en-python

The float Type in Python

In Python, floating-point numbers (float) are used to represent real numbers, both positive and negative.

These numbers can include a fractional part and are represented using the IEEE 754 floating-point standard.

Floating-point numbers in Python can be declared using standard decimal notation.

numero_float = 3.14159

Floating-point numbers can also be expressed in scientific notation, using the letter e to indicate the power of ten:

numero_cientifico = 6.022e23  # 6.022 × 10^23

Operations with floating-point numbers

Python supports basic mathematical operations with floating-point numbers, such as addition, subtraction, multiplication, and division:

# Addition
suma = 3.14 + 2.71
print(suma)  # Output: 5.85

# Subtraction
resta = 10.5 - 4.2
print(resta)  # Output: 6.3

# Multiplication
multiplicacion = 2.5 * 4.0
print(multiplicacion)  # Output: 10.0

# Division
division = 10.0 / 3.0
print(division)  # Output: 3.3333333333333335 (limited precision due to binary representation)

Python also allows for other advanced operations with floating-point numbers, such as exponentiation and trigonometric calculations using the math module:

import math

# Exponentiation
potencia = math.pow(2.0, 3.0)
print(potencia)  # Output: 8.0

# Sine
seno_valor = math.sin(math.pi / 2)
print(seno_valor)  # Output: 1.0 (sine of 90 degrees in radians)

Precision and Rounding

Floating-point numbers in Python have limited precision due to binary representation (this is a limitation common to most programming languages).

This must be taken into account because it can lead to unexpected results in certain calculations:

# Addition with limited precision
suma_precisa = 0.1 + 0.2
print(suma_precisa)  # Output: 0.30000000000000004 (limited precision)

Due to limited precision, direct comparisons between floating-point numbers may not be accurate:

a = 0.1 + 0.2
b = 0.3
print(a == b)  # Output: False (due to limited precision)

Infinity and Not-a-Number (NaN)

Python also handles special values such as infinity (inf) and Not-a-Number (NaN) to represent results outside the normal numerical limits:

# Positive infinity
infinito_positivo = float('inf')
print(infinito_positivo)  # Output: inf

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

Conversion between types

It is possible to convert other data types to floating-point numbers using the float() function:

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

float objects in Python also have useful methods, such as is_integer() to check if the number is an integer:

numero = 3.0
print(numero.is_integer())  # Output: True (the number 3.0 is an integer)