Método math.isclose() de Python

Python math 模块Módulo math de Python

Python math.isclose()El método devuelve un valor booleano para comprobar si dos valores están cerca entre sí; si los valores están cerca, devuelve True; de lo contrario, devuelve False.

math.isclose()Determina si dos valores se consideran cercanos según las tolerancias absoluta y relativa dadas.

Versión de Python: 3.5

La fórmula de cálculo es:

abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)

Sintaxis

La sintaxis del método math.isclose() es la siguiente:

math.isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)

Descripción de parámetros:

  • a-- Obligatorio, número. Si x no es un número, devuelve TypeError. Si el valor es 0 o negativo, devuelve ValueError.
  • b-- Obligatorio, número. Si x no es un número, devuelve TypeError. Si el valor es 0 o negativo, devuelve ValueError.
  • rel_tol-- Es la tolerancia relativa; es la diferencia máxima permitida entre a y b, en relación con el mayor valor absoluto de a o b. Por ejemplo, para establecer una tolerancia del 5%, pase rel_tol=0.05. La tolerancia predeterminada es 1e-09, lo que garantiza que dos valores sean iguales dentro de aproximadamente 9 dígitos decimales. rel_tol debe ser mayor que cero.
  • abs_tol-- Es la tolerancia absoluta mínima, útil para comparaciones cercanas a cero. abs_tol debe ser al menos cero.

Valor de retorno

Devuelve un valor booleano que comprueba si dos valores están cerca entre sí; si los valores están cerca, devuelve True; de lo contrario, devuelve False.

Ejemplo

El siguiente ejemplo comprueba si dos valores están cerca entre sí:

Ejemplo

# Importar el paquete math
import math

# Muestra si dos valores están cerca
print(math.isclose(8.005, 8.450, abs_tol = 0.4))
print(math.isclose(8.005, 8.450, abs_tol = 0.5))

Salida:

False
True

El siguiente ejemplo comprueba si dos números de punto flotante están cerca:

Ejemplo

# Importar el paquete math
import math

# Se puede usar para la comparación de números de punto flotante

# Esto dará como resultado false, 0.1+0.2 no es igual a 0.3
print(0.1+0.2 == 0.3)
print(0.1+0.2 )

# Esto dará como resultado true
print(math.isclose(0.1+0.2, 0.3))

Salida:

False
0.30000000000000004
True

Python math 模块Módulo math de Python

Otras extensiones