Como mostrar um número para dois locais decimais em PHP

Minahil Noor 30 janeiro 2023
  1. Utilize number_format() Função para mostrar um número para duas casas decimais em PHP
  2. Utilize round() Função para mostrar um número para duas casas decimais em PHP
  3. Utilize sprintf() Função para mostrar um número para duas casas decimais em PHP
Como mostrar um número para dois locais decimais em PHP

Neste artigo, vamos introduzir métodos para mostrar um número com duas casas decimais em PHP.

  • Utilizando a função number_format()
  • Utilizando a função round()
  • Utilizando a função sprintf()

Utilize number_format() Função para mostrar um número para duas casas decimais em PHP

A função embutida number_format() é utilizada para formatar um número. Por formatação, queremos dizer que o número é exibido com um ponto decimal e um separador de milhar. Ela também arredonda um número, se necessário. Podemos utilizar esta função para mostrar um número com duas casas decimais. A sintaxe correta para usar esta função é a seguinte

number_format($number, $NumOfDecimals, $decimalIndicator, $thousandSeparator)
Parmater Descrição
$number obrigatório o número a ser formatado
$NumOfDecimals opcional o número de valores decimais após o ponto decimal
$decimalIndicator opcional um ponto decimal personalizado para o número. Se omitido, o ponto decimal por padrão é .
$thousandSeparator opcional um separador personalizado de milhares. Se omitido, o mil separador por padrão é ",".

Códigos de exemplo:

<?php
$number1 = 5;
$number2 = 34.600;
$number3 = 15439.093;
$format_number1 = number_format($number1, 2);
$format_number2 = number_format($number2, 2);
$format_number3 = number_format($number3, 2, "d", "@");
echo "The number $number1 after formating is: $format_number1 \n";
echo "The number $number2 after formating is: $format_number2 \n";
echo "The number $number3 after formating is: $format_number3 \n";
?>

Esta função tem três parâmetros opcionais, mas não permite três parâmetros. Ela permite que um, dois e quatro parâmetros sejam passados. Neste exemplo, os $number1 e $number2 são formatados com duas casas decimais com o ponto decimal padrão. Mas o $number3 é formatado com o ponto decimal personalizado "d" e o separador de milhares "@".

Resultado:

The number 5 after formating is: 5.00 
The number 34.6 after formating is: 34.60 
The number 15439.093 after formating is: 15@439d09

Utilize round() Função para mostrar um número para duas casas decimais em PHP

A função round() é utilizada para arredondar um número ou valor de flutuação. Podemos arredondar um número para nossas casas decimais desejadas. A sintaxe correta para utilizar esta função é a seguinte

round($number, $decimalPlaces, $mode);
Parmater Descrição
$number obrigatório o número a ser formatado
$decimalPlaces opcional o número de valores decimais após o ponto decimal
$mode opcional modo de arredondamento

Códigos de exemplo:

<?php
$number1 = 5;
$number2 = 34.6;
$number3 = 15439.093;
$format_number1 = round($number1, 2);
$format_number2 = round($number2, 2);
$format_number3 = round($number3, 2);
echo "The number $number1 after rounding is: $format_number1 \n";
echo "The number $number2 after rounding is: $format_number2 \n";
echo "The number $number3 after rounding is: $format_number3 \n";
?>

O importante aqui é observar que ele não afeta um número ou um valor de flutuação com um ponto decimal se quisermos arredondá-los para duas casas decimais.

Resultado:

The number 5 after rounding is: 5 
The number 34.6 after rounding is: 34.6 
The number 15439.093 after rounding is: 15439.09
Atenção

Quando o número original tiver menos dígitos decimais do que as casas decimais a serem formatadas, a função round() não adicionará zeros no final do número.

Você deve utilizar o método number_format() se duas casas decimais forem necessárias para todos os números, incluindo números inteiros.

Utilize sprintf() Função para mostrar um número para duas casas decimais em PHP

A função embutida sprintf() formata uma string de acordo com um determinado formato. Ela pode ser utilizada para mostrar um número com duas casas decimais. A sintaxe correta para utilizar esta função é a seguinte

sprintf($format, $parameter1, $parameter2, ... , $parameterN);

O parâmetro $format é o formato que especifica como as variáveis estarão na string. O próximo parâmetro $parameter1 é a primeira variável cujo valor será atribuído ao primeiro % na string. O parâmetro $parameter2 é a segunda variável cujo valor será atribuído ao segundo % na string. Desta forma, podemos inserir N variáveis para sinais de N %.

<?php
$num = 67;
$number = sprintf('%.2f', $num);
echo "The number upto two decimal places is $number";
?>

Aqui, utilizamos %f para um valor de flutuação. O %.2f indica que o valor de flutuação será de até duas casas decimais.

Resultado:

The number up to two decimal places is 67.00

Artigo relacionado - PHP Number