Como alterar o formato de um número para o padrão português (Brasil e Portugal) em PHP
- Detalhes
- Angelo Luis Ferreira
- PHP
- Acessos: 7813
Neste tutorial mostraremos como converter um número no formato do php para os formatos padrão inglês, português ou para qualquer outro formato utilizando o PHP. Este recurso é muito útil quando precisamos trabalhar com números obtidos em um banco de dados ou em formulários.
Formato padrão do PHP: Não possui Delimitador e o Separador decimal definido por ponto "." - Exemplo: 1200.50
Formato inglês: Delimitador é definido por vírgula "," e o Separador decimal por ponto "." - Exemplo: 1,200.50
Formato português (Brasil): Delimitador é definido por ponto "." e o Separador decimal por vírgula "," - Exemplo: 1.200,50
Formato português (Portugal): Delimitador é definido por espaço " " e o Separador decimal por ponto "." - Exemplo: 1 200,50
Função number_format()
Formata números através de delimitadores e separadores decimais definidos pelo usuário. Veja a referência completa no link: Referência number_format PHP
1. A função number_format pode alterar um número para qualquer formato, alterando seus delimitadores e separadores decimais.
number_format($numero, casas decimais, separador, delimitador);
Onde:
- $número = pode ser uma variável ou um número real qualquer (obrigatório)
- casas decimais = número (obrigatório)
- separador = símbolo que divide número inteiro dos valores decimais - quando omitido retorna valor padrão inglês, ou seja, "," vírgula (opcional)
- delimitador = símbolo ou espaço para dividir grupo de números (opcional) - quando omitido retorna padrão inglês, ou seja, "." ponto (opcional)
Atenção: Sempre utilize separador e delimitador juntos. O PHP não aceita apenas um único parâmetro, ou seja, apenas separador ou apenas o delimitdor.
Veja o exemplo abaixo onde consideramos a variável $número contendo por um número obtido de um banco de dados:
<h1>Usando a função number_format()</h1>
<?php
$number = 114112654.76;
$number_english = number_format($number, 2);
$number_portugues = number_format($number, 2, ",", ".");
$number_europeu = number_format($number, 2, ",", " ");
$number_qualquer = number_format($number, 5, "--", "^");
echo 'Padrão MySql : '.$number.'<br><br>';
echo 'Padrão inglês: '.$number_english.'<br><br>';
echo 'Padrão português: '.$number_portugues.'<br><br>';
echo 'Padrão europeu: '.$number_europeu.'<br><br>';
echo 'Padrão qualquer: '.$number_qualquer.'<br><br>';
?>
Acesse o nosso o código no link: Exemplo números formatados. Clique no botão [Run - F9] para ver o resultado.
Documentação oficial
1. [Referência number_format PHP] >> Formata um número utilizando delimitador e separador decimal.
O anúncio abaixo ajuda manter o Portal Visual Dicas