A função inteira mais próxima em Python

Aprenda a arredondar para números inteiros usando as funções da biblioteca matemática Python.

Python e arredondamento

A biblioteca matemática Python oferece um pacote de métodos úteis para arredondar números decimais em inteiros. Você pode arredondar um número da maneira tradicional (para o número inteiro menor mais próximo em partes fracionárias de 0, 4 ou menos, e para o maior em partes de 0, 5 ou mais) usando o método "round ()". O exemplo a seguir mostra como arredondar números decimais usando o método "round":

f = 5, 455 rodada (f) 5, 0 rodada (f, 2) // arredonda para 2 casas decimais 5, 46

Métodos de telhado e piso

Como parte da biblioteca de matemática, os métodos "floor ()" e "ceil ()" fornecem uma maneira única de arredondar decimais que você pode achar útil em certos cálculos. O método do solo arredonda para o número inteiro menor mais próximo para o infinito negativo (independentemente do valor decimal), e o método do teto o arredonda para o número inteiro mais próximo para o infinito positivo. O exemplo a seguir mostra como as duas funções funcionam:

importar matemática f = 3.5 g = -3.5 andar (f) 3.0 ceil (3.5) 4.0 andar (g) -4.0 ceil (g) -3.0

Arredondamento e todo

As operações de arredondamento ilustradas mostram como usar essas funções, mas elas também têm efeitos colaterais: nas versões do Python anteriores à 3.0, os decimais arredondados não eram arredondados para inteiros, mas para decimais. Devido à maneira de representar decimais em arquiteturas de computadores, isso pode causar problemas em cálculos de alta precisão, onde os programadores precisam de números inteiros. Você pode converter um número flutuante em um inteiro usando o método "int ()", como neste exemplo:

f = 3, 5 round (f) 4, 0 int (rodada (f)) 4

Exemplo de método

Usando esse conhecimento, você pode desenvolver um método para arredondar facilmente decimais em inteiros. Os exemplos a seguir mostram exemplos curtos de métodos que determinam o teto e o piso de um número como um inteiro e outro que é arredondado para uma casa decimal escolhida pelo usuário (ou um inteiro):

import math def integerFloor (x) :. . . return int (andar (x)) def integerCeiling (x) :. . . return int (ceil (x)) def arredondamento (x, dec) :. . . se dec == 0 :. . . return int (arredondado (x)). . . mais :. . . retorno (redondo (x, dez))