Arredondar valores para cima e para baixo em PHP: Funções ceil, floor e round

Tutorial e exemplos do uso das funções ceil, floor e round do PHP usadas em operações que envolvem o arredondamento de valores numéricos em programação.

Home Tecnologia

Um dos desafios de trabalhar com valores numéricos em programação é a questão do arredondamento dos valores em casos de operações que resultem valores fracionados. A matemática não é exata, ou melhor, ela é exata, mas nós limitamos os resultados fracionados em x casas decimais e sempre irá sobrar algo e o problema é que precisamos dizer o que fazer com esta sobra.

Em PHP há três funções para o tratamento dos valores fracionados. Basicamente você pode arredondar para cima, sempre; arredondar para baixo (truncar), sempre ou deixar que o PHP faça a administração disso. Neste último caso se a sobra for maior que 5, será arredondado para cima, caso  contrário o valor será truncado.

Arredondar para cima – Função Ceil

A função ceil() é usada para arredondar o valor fracionado para cima. Veja alguns exemplos:

<?php
echo ceil(7.3);    // O resultado será arredondado para 8
echo ceil(2.999);  // O resultado será arredondado para 3
echo ceil(-6.12);  // O resultado será arredondado para -6
?>

Em todos os exemplos acima os valores com os resultados fracionados foram arredondados para cima. Isto é particularmente útil para rotinas que geram paginação dos resultados ou outras rotinas similares

Arredondar para baixo  – Função Floor

A função floor() trabalha de forma inversa à ceil, esta, arredonda os valores fracionados para baixo. Se pegarmos o mesmo exemplo anteriormente descrito teremos os seguintes resultados:

<?php
echo floor(7.3);    // O resultado será arredondado para 7
echo floor(2.999);  // O resultado será arredondado para 2
echo floor(-6.12);  // O resultado será arredondado para -7
?>

Arredondar valores para baixo é útil quando apenas a parte inteira nos interessa, embora, não se possa usar int, já que tanto ceil, floor e round trabalham com tipo float.

Arredondamento automático – Função round

A função round() faz o trabalho de ceil e floor, porém ela é flexível e poderá arredondar os valores tanto para cima como para baixo. Veja o mesmo exemplo sendo aplicado com a função round():

<?php
echo round(7.3);    // O resultado será arredondado para 7
echo round(2.999);  // O resultado será arredondado para 3
echo round(-6.12);  // O resultado será arredondado para -6
?>

Como podemos perceber os valores são arredondados para cima, quando a parte fracionada for maior ou igual a 5 e arredondará para baixo quando a parte fracionada for inferior a 5.

Na maioria dos casos este é o procedimento padrão de arredondamento de valores em todas as linguagens de programação e na maioria das operações comerciais.

Gostou? Compartilhe



 

Leia também:



© 2008-2018 | Professor Digital | Política de Privacidade | Em Jesus Cristo eu confio