Esta função recebe um, dois ou quatro parâmetros. Ou seja, temos estas restrições:
Há um único parâmetro obrigado (o número que queremos formatar).
O segundo parâmetro é opcional, tal como o terceiro e o quarto.
Porém, se especificarmos o terceiro parâmetro, estamos obrigados a especificar também o quarto.
Vejamos com detalhe os parâmetros da função de formatação de números de PHP, com diversos exemplos.
Parâmetro 1, o número:
O primeiro parâmetro é o número a formatar. Tal como dissemos, embora seja óbvio, é um parâmetro sempre necessário.
$numero = 15200.67;
number_format($numero);
//devolve 15,201
Neste caso, a formatação do número nos dará o número sem decimais e com uma vírgula como separador de milhares. Este formato é o que se utiliza em inglês (as pessoas de fala inglesa separam os milhares com vírgula ao escrever os números), que certaente não servirá aos desenvolvedores que trabalham em português.
Cabe observer que a função number_format() realizou também um arredondamento dos decimais que não está mostrando. Podemos ver bem este arredondamento no seguinte exemplo:
$numero = 999999999.99;
number_format($numero);
//devolve 1,000,000,000
Parâmetro 2, os decimais:
Com o segundo parâmetro, que é opcional, indicamos o número de decimais que queremos que apareçam no número formatado.
$numero = 15200.67;
number_format($numero,2);
//devolve 15,201.67
Como vemos, neste caso se incorporaram os decimais ao formato do número. Utiliza vírgulas para separar os milhares e um ponto para separar as unidades de milhar. Como vemos, continua utilizando a notação inglesa para formatar números.
Outro exemplo, no qual podemos apreciar que sempre se faz um arredondamento do número, se os decimais a mostrar forem menos que os que tiverem o número original.
$numero = 1885200.89;
number_format($numero,1);
//devolve 1,885,200.9
Parâmetros 3 e 4, separadores de decimais e de unidades de milhar
Os últimos parâmetros, que devemos utilizar sempre juntos, servem para especificar os separadores que queremos utilizar para os decimais e as unidades de milhar. Se quisermos formatar os números com a notação portuguesa teríamos que utilizar obrigatoriamente estes parâmetros.
Por exemplo, assim faríamos para formatar os números em português:
Separar os decimais com vírgula
Separar as unidades de milhar com um ponto.
$numero = 1002002.365;
number_format($numero, 2, ",", ".");
//devolve 1.002.002,37
Se, por exemplo, não separar os milhares, simplesmente passamos como separador de unidades de milhar (quarto parâmetro) a cadeia vazia:
$numero = 9540.2;
number_format($numero, 2, ",", "");
//devolve 9540,20
Fonte: CriarWeb(http://www.criarweb.com/artigos/formato-de-numeros-em-php.html)
Nenhum comentário:
Postar um comentário