Arredondar para dígitos significativos em Python
-
Use a função
round()
para arredondar um número para o dígito significativo fornecido em Python -
Use o módulo
math
para arredondar um número para o dígito significativo fornecido em Python - Use a formatação de string para arredondar um número para o dígito significativo fornecido em Python
-
Use o módulo
sigfig
para arredondar um número para o dígito significativo fornecido em Python
![Arredondar para dígitos significativos em Python](/img/Python/feature-image---round-to-significant-digits-python.webp)
Arredondar o número significa substituir um número por um valor aproximado próximo a ele. Também podemos arredondar os números para o algarismo significativo necessário.
Neste artigo, vamos arredondar um número para um dígito significativo específico em Python.
Use a função round()
para arredondar um número para o dígito significativo fornecido em Python
A função round()
arredonda os valores flutuantes fornecidos para o inteiro mais próximo ou para a posição decimal especificada.
Podemos usar um número negativo para arredondar o inteiro para o valor de piso significativo atribuindo-o à função round()
. Este número negativo a ser especificado depende dos dígitos significativos exigidos.
Por exemplo, se desejarmos arredondar para um dígito significativo, especificamos o valor como (1 dígitos no total) na função round()
.
Veja o seguinte código.
x = round(1342, -3)
print(x)
Produção:
1000
Use o módulo math
para arredondar um número para o dígito significativo fornecido em Python
Este método é um aprimoramento da função discutida anteriormente. Podemos criar uma função simples definida pelo usuário para tornar isso mais conveniente. Não teremos que especificar o número negativo na função round()
deste método. Vamos substituir isso usando uma combinação da função math.floor()
e da função math.log10()
.
Veja o código abaixo.
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))
Produção:
1000
Use a formatação de string para arredondar um número para o dígito significativo fornecido em Python
Em Python, o especificador %g
em string formata um float arredondado para um algarismo significativo especificado. Se a magnitude do número final for enorme, ele será mostrado em notação científica.
Este método retorna uma string. Portanto, temos que converter o número da string de volta para um valor flutuante ou inteiro após formatá-lo.
Por exemplo,
x = float("%.1g" % 1324)
print(x)
Produção:
1000.0
Use o módulo sigfig
para arredondar um número para o dígito significativo fornecido em Python
O módulo sigfig
é a melhor opção para arredondar os números para um dígito significativo, pois minimiza o incômodo de criar uma função definida pelo usuário e simplifica o código.
Podemos especificar o número de dígitos significativos na função round()
deste módulo.
Veja o seguinte exemplo.
from sigfig import round
print(round(1324, sigfigs=1))
Produção:
1000