Formatando números em moedas - PHP

Formatar números inteiros ou floats com PHP é muito simples, com isso a facilidade de converter para qualquer formato de moeda se torna uma tarefa simples.

Para isso utilizaremos a função number_format().

Essa função pode receber até quatro parâmetros, conforme descrição a seguir:

  • Número - (int | float) Que no caso é o número em si que será convertido para outro formato.
  • Casas decimais - (int) O número de casas decimais que irá conter o novo formato de número.
  • Separador decimal - (string) O caractere que vai separar as casas decimais, por exemplo um ponto ou uma vírgula.
  • Separador de milhar - (string) O caractere que vai separar as casas de milhar como por exemplo um ponto.

Com o entendimento disso, podemos por exemplo formatar o número 1530 para o formato de moeda real, o formato real usa vírgula para casas decimais e um ponto para a casa de milhar, ficando da seguinte forma 1.530,00.

Então para fazer isso utilizando a função number_format basta observar o exemplo a seguir:

Formato Brasileiro


// Resultado 1.530,00
$numero = 1530;
echo number_format($numero, 2, ',', '.');

Simples não? De quebra vou deixar alguns exemplos de formatos de moedas:

Formato Inglês


// Resultado 1,530.00
$numero = 1530;
echo number_format($numero, 2, '.', ',');

Formato Francês


// Resultado 1 530,00
$numero = 1530;
echo number_format($numero, 2, ',', ' ');
Voltar para o topo