A função round () retorna um número de ponto flutuante arredondado para o número especificado de decimais.
A sintaxe da round()
função é:
rodada (número, ndigits)
Parâmetros round ()
A round()
função tem dois parâmetros:
- número - o número a ser arredondado
- ndigits (opcional) - número até o qual o número fornecido é arredondado; o padrão é 0
Valor de retorno do round ()
- Se
ndigits
não for fornecido,round()
retorna o número inteiro mais próximo ao número fornecido. - Se
ndigits
for fornecido,round()
retorna o número arredondado para osndigits
dígitos.
Exemplo 1: Como round () funciona em Python?
# for integers print(round(10)) # for floating point print(round(10.7)) # even choice print(round(5.5))
Resultado
10 11 6
Exemplo 2: arredondar um número para o número fornecido de casas decimais
print(round(2.665, 2)) print(round(2.675, 2))
Resultado
2,67 2,67
Nota : O comportamento de round()
for floats pode ser surpreendente. O aviso round(2.675, 2)
dá em 2.67
vez do esperado 2.68
. Isso não é um bug: é o resultado do fato de que a maioria das frações decimais não pode ser representada exatamente como um float.
Quando o decimal 2.675
é convertido em um número de ponto flutuante binário, ele é novamente substituído por uma aproximação binária, cujo valor exato é:
2.67499999999999982236431605997495353221893310546875
Devido a isso, ele foi arredondado para 2,67.
Se você estiver em uma situação em que essa precisão seja necessária, considere usar o decimal
módulo, que é projetado para aritmética de ponto flutuante:
from decimal import Decimal # normal float num = 2.675 print(round(num, 2)) # using decimal.Decimal (passed float as string for precision) num = Decimal('2.675') print(round(num, 2))
Resultado
2,67 2,68