Math.ceil vs Math.floor
doug-source
Posted on November 12, 2024
Volta e meia me deparo com chamadas dos métodos ceil
e floor
, pertencentes à Math
. Ambos os métodos possuem a finalidade de arredondamento de um floating point
number para um integer
number. Porém, uma pergunta que sempre me surge, quase que de forma automática, é:
Afinal, existiria alguma forma de comparar visualmente a lógica dessas duas functions?
Bom... Deixe-me tentar.
Imaginemos que exista um gráfico no qual possamos colocar cada argumento passado para essas functions:
Math.ceil(num)
Tem a função de arredondar um número para o valor inteiro mais próximo, maior ou igual (>=) ao número atual.
num === 1.3
Olhando o número inserido no gráfico acima, qual seria o número inteiro mais próximo >= à 1.3? O número 2, é claro!
num === -2.001
Olhando o número inserido no gráfico acima, qual seria o número inteiro mais próximo >= à -2.001? Como estamos agora perante uma escala negativa, o próximo número inteiro >= é -2.
Math.floor(num)
Tem a função de arredondar um número para o valor inteiro mais próximo, menor ou igual (<=) ao número atual. Resumidamente funciona igual à Math.ceil
, porém com sentido inverso no gráfico.
num === 1.3
Olhando o número inserido no gráfico acima, qual seria o número inteiro mais próximo <= à 1.3? O número 1, é claro!
num === -2.001
Olhando o número inserido no gráfico acima, qual seria o número inteiro mais próximo <= à -2.001? Como estamos agora perante uma escala negativa, o próximo número inteiro <= é -3.
Assim, analizando o sentido do arredondamento dessas functions e levando o gráfico em consideração, temos:
Lembrar de conceitos utilizando imagens (como a mencionada acima) costuma me auxiliar bastante na fixação deles. 😉
...
Posted on November 12, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.