Redondear a dígitos significativos en Python

Shivam Arora 30 enero 2023
  1. Utilice la función round() para redondear un número al dígito significativo dado en Python
  2. Utilice el módulo math para redondear un número al dígito significativo dado en Python
  3. Use el formato de cadena para redondear un número al dígito significativo dado en Python
  4. Utilice el módulo sigfig para redondear un número al dígito significativo dado en Python
Redondear a dígitos significativos en Python

Redondear el número significa reemplazar un número con un valor aproximado cercano a él. También podemos redondear números a la cifra significativa requerida.

En este artículo, redondearemos un número a un dígito significativo específico en Python.

Utilice la función round() para redondear un número al dígito significativo dado en Python

La función round() redondea los valores flotantes dados al entero más cercano o la posición decimal especificada.

Podemos usar un número negativo para redondear el entero al valor piso significativo asignándolo a la función round(). Este número negativo que se especificará depende de los dígitos significativos requeridos.

Por ejemplo, si deseamos redondear a un dígito significativo, especificamos el valor como (1 dígitos en total) en la función round().

Consulte el siguiente código.

x = round(1342, -3)
print(x)

Producción :

1000

Utilice el módulo math para redondear un número al dígito significativo dado en Python

Este método es una mejora de la función discutida anteriormente. Podemos crear una función simple definida por el usuario para que esto sea más conveniente. No tendremos que especificar el número negativo en la función round() de este método. Reemplazaremos esto usando una combinación de la función math.floor() y la función math.log10().

Vea el código a continuación.

from math import log10, floor


def round_it(x, sig):
    return round(x, sig - int(floor(log10(abs(x)))) - 1)


print(round_it(1324, 1))

Producción :

1000

Use el formato de cadena para redondear un número al dígito significativo dado en Python

En Python, el especificador %g en cadenas formatea un flotante redondeado a una cifra significativa especificada. Si la magnitud del número final es enorme, lo muestra en notación científica.

Este método devuelve una cadena. Entonces, tenemos que convertir el número de cadena de nuevo a un valor entero o flotante después de formatearlo.

Por ejemplo,

x = float("%.1g" % 1324)
print(x)

Producción :

1000.0

Utilice el módulo sigfig para redondear un número al dígito significativo dado en Python

El módulo sigfig es la mejor opción para redondear los números a un dígito significativo, ya que minimiza la molestia de crear una función definida por el usuario y simplifica el código.

Podemos especificar el número de dígitos significativos en la función round() de este módulo.

Vea el siguiente ejemplo.

from sigfig import round

print(round(1324, sigfigs=1))

Producción :

1000