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, ',', ' ');