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.
A função ceil() é usada para arredondar o valor fracionado para cima. Veja alguns exemplos:
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
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:
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.
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():
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.
COMPARTILHE: Facebook Twitter WhatsApp