Atualizado em 30 de Janeiro de 2013

Arredondamento de Números PHP

O arredondamento de números é um comando básico, mas muito útil em vários tipos de funções no sistema. Existem inúmeras aplicações onde podemos usar o arredondamento de números, nos quais podemos destacar o tratamento de resultados fracionados e a criação de paginação para sites.

Existem três tipos de arredondamento. O arredondamento automático, arredondamento para cima e o arredondamento para baixo.

Neste post vamos explorar os três tipos de arredondamento de números no PHP.

Arredondamento Automático - round


O comando round arredonda o valor informado. O próprio comando automaticamente verifica se deve arredondar para cima ou para baixo e exibe o resultado.
Obs.: o que este comando leva em consideração se arredonda o valor para cima ou para baixo e o numero fracionado. Se for maior do que 5 ele arredonda para cima, se for menor ele arredonda para baixo.

Veja o exemplo:

<?php
echo round('2.57'); //Resultado: 3
?>

Neste comando ainda podemos informar se desejamos casas decimais, como mostra a seguir:

<?php
echo round('2.57', 1); //Resultado: 2.6
?>

Arredondamento Para Cima - ceil


Como a própria chamada do comando ceil diz, ele arredonda o valor para cima, veja o exemplo abaixo:

<?php
echo ceil('5.2'); //Resultado: 6
?>

Arredondamento Para Baixo - floor


O Comando floor faz exatamente ao contrário do comando anterior. Segue o exemplo:
<?php
echo floor('5.2'); //Resultado: 5
?>

É isso aí pessoal.


Gostou do post, continue por dentro das dicas de programação!!! Assine a newsletter.

Tags:  Comandos PHP | PHP

Comentários

Sua foto do perfil

Rodolfo

Legal com bem menos código do que tinha pensado. Pensei desta forma, mas não testei: $valor_redondo = $valor_redondo + 10 - $unidade_do_valor. Sendo assim, "$unidade_do_valor" viria de uma string que pega o algarismo da direita do número em questão.

02 de Março de 2016 - 20:29

Sua foto do perfil

Mauricio Programador

Olá Rodolfo,

Sim, o PHP tem uma função que já facilita esta tarefa para nós programadores.

Abraço.

28 de Abril de 2016 - 10:58

Sua foto do perfil

Michael

Parabéns prof. Otimo post.

02 de Março de 2016 - 16:53

Sua foto do perfil

Cristiano

Boa noite Mauricio, uma dúvida básica... queria encontrar um jeito de arredondar (para cima) um número pela dezena... ou seja 232 -> 240, 1476 -> 1480, etc... alguma idéia?
Obrigado e parabéns pelo site!

25 de Janeiro de 2015 - 21:54

Sua foto do perfil

Mauricio Programador

Olá Cristiano,

Não conheço nenhum função que faça este tipo de operação.

O que você pode fazer e você mesmo criar uma, o bom seria usar Expressão Regular para criar, mas daria para fazer também com IF verificando a terminação do número e somando os que restam.

Abraço.

26 de Janeiro de 2015 - 10:13

Sua foto do perfil

Cristiano

A solução é mais simples do que parecia... $numero_redondo = round($numero, -1);

09 de Fevereiro de 2015 - 09:59

Sua foto do perfil

Cristiano

Na verdade, a solução anterior arredonda... o que quer dizer que 234 viraria 230, e não 240. A solução seria então $valor_redondo = ceil($valor / 10) * 10;

09 de Fevereiro de 2015 - 09:59

Sua foto do perfil

Mauricio Programador

Legal Cristiano, boa resolução do problema, já fica documentando para quem mais necessitar.

Abraço e obrigado pela contribuição.

09 de Fevereiro de 2015 - 10:00

NEWSLETTER

Receba dicas de programação
em seu e-mail

TWITTER

Acompanhe tudo o que rola
com Mauricio Programador

NEWSLETTER