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.
Índice deste artigo
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.
PHP5 Conceitos, Programação e Integração com Banco de Dados
Aproveitando este assunto, queria fazer uma pequena análise crítica do livro: PHP5 Conceitos, Programação e Integração com Banco de Dados, Editora Érica e autor Walace Soares. Este é um bom livro no assunto de programação em PHP.
O livro PHP5 Conceitos, Programação e Integração com Banco de Dados apresenta de forma bastante simples desde os primeiros passos na linguagem PHP até os recursos mais avançados de orientação a objetos disponíveis na versão 5 da linguagem.
Dentre os diversos fatores positivos que o livro apresenta, identifiquei alguns em especial:
Linguagem Simples. O livro foi escrito para atender pessoas sem grandes conhecimentos técnicos. Ele usa termos do dia-a-dia e evita a linguagem rebuscada ou complicada, muito comum em obras técnicas.
Rico em exemplos. Há muitos exemplos que facilita a compreensão dos leitores. Alguns exemplos dispensam até teste no computador. Basta ler para entender.
Visão geral do PHP. Este é um ponto interessante do livro PHP5 Conceitos, Programação e Integração com Banco de dados. Ele começa falando das questões mais simples e triviais do PHP, como a sintaxe da linguagem, os tipos de dados, tags, comentários, entre outros; passa pelo uso intermediário do PHP com funções, manipulação de formulários e banco de dados; e termina com exemplos avançados de orientação a objetos.
Casos de usos. Para quem acompanhou o livro até o final, agora ele apresenta casos de usos mostrando uma aplicação prática e reunindo os principais recursos abordados ao longo do livro.
Recomendo o livro tanto para iniciantes que querem dar os primeiros passos com programação em PHP como para aqueles que já conhecem a linguagem e o conceito de programação para a internet.
Os principais assuntos tratados no livro são:
- Conceitos básicos do PHP
- PHP e HTML
- Tipos de dados, variáveis e outros
- Operadores matemáticos, de atribuição, lógicos, de comparação e outros
- Estruturas de controles: If, for, foreach, switch, outros
- Funções de usuário e as funções essenciais do PHP, como: Data e hora, Arquivos e diretórios, HTTP, matemáticas, expressões regulares e outras.
- Manipulação de formulários HTML no PHP
- Manipulação de strings e arrays
- Manipulação de erros
- Orientação a objetos no PHP
- Uso de sessões
- Manipulação de imagens
- Envio de emails
- Namespaces
- Integração com banco de dados MySQL e PostgreeSQL
- Casos de uso e muitos exemplos.
Como visto acima o livro é muito completo e é indicado para quem deseja aprender PHP, aprofundar os conhecimentos na linguagem ou ter o livro como um guia para relembrar comandos e conceitos que nem sempre temos em mãos quando precisamos. Eu uso este livro no curso de PHP, MySQL e PostgreeSQL que ministro no Senac.
Veja também
- 10 itens sobre a Bíblia e os 10 livros mais lidos do mundo
- 10 itens sobre a região Nordeste: Estados, população, capitais e mais
- Quais cursos e faculdades em Balneário Camboriú?
- Tipos de comunicação e a linguagem verbal e não-verbal
- Maiores cidades da Europa, Itália, Espanha, França, Alemanha e Inglaterra
- O que significa esses 20 ditados populares? O 6º é questionável
- Pós-graduação na USP, UNESP, Unicamp. Universidades públicas de SP
- Quais livros bons para ler para provocar mudança de vida?
- Qual a importância da educação a distância – EAD para o Brasil?
- Qual o valor do curso técnico?