Cómo mostrar un número a dos decimales en PHP

Minahil Noor 30 enero 2023
  1. Usando la función number_format() para mostrar un número con dos decimales en PHP
  2. Usando la función round() para mostrar un número con dos decimales en PHP
  3. Usando la función sprintf() para mostrar un número con dos decimales en PHP
Cómo mostrar un número a dos decimales en PHP

En este artículo, presentaremos métodos para mostrar un número a dos decimales en PHP.

  • Usando la función number_format()
  • Usando la función round()
  • Usando la función sprintf()

Usando la función number_format() para mostrar un número con dos decimales en PHP

La función incorporada number_format() se usa para formatear un número. Por formateo, queremos decir que el número se muestra con un punto decimal y un separador de miles. También redondea un número si es necesario. Podemos usar esta función para mostrar un número con dos decimales. La sintaxis correcta para usar esta función es la siguiente

number_format($number, $NumOfDecimals, $decimalIndicator, $thousandSeparator)
Parmater Descripción
$number obligatorio el número a formatear
$NumOfDecimals Opcional el número de valores decimales después del punto decimal
$decimalIndicator Opcional un punto decimal personalizado para el número. Si se omite, el punto decimal por defecto es .
$thousandSeparator Opcional Un separador personalizado de mil. Si se omite, el separador de miles por defecto es ","

Códigos de ejemplo:

<?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 función tiene tres parámetros opcionales pero no permite tres parámetros. Permite pasar uno, dos y cuatro parámetros. En este ejemplo, el $number1 y el $number2 están formateados con dos decimales con el punto decimal predeterminado. Pero $number3 está formateado con un punto decimal personalizado "d" y un separador de miles "@".

Producción :

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

Usando la función round() para mostrar un número con dos decimales en PHP

La función round() se utiliza para redondear un número o valor flotante. Podemos redondear un número a nuestros decimales deseados. La sintaxis correcta para usar esta función es la siguiente

round($number, $decimalPlaces, $mode);
Parmater Descripción
$number obligatorio el número a formatear
$decimalPlaces Opcional el número de valores decimales después del punto decimal
$mode Opcional modo de redondeo

Códigos de ejemplo:

<?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";
?>

Lo importante a tener en cuenta aquí es que no afecta a un número o un valor flotante con un punto decimal si queremos redondearlos a dos decimales.

Producción :

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
Atención

Cuando el número original tiene menos dígitos decimales que los lugares decimales a formatear, la función round() no agregará ceros al final del número.

Debe usar el método number_format() si se necesitan dos decimales para todos los números, incluidos los enteros.

Usando la función sprintf() para mostrar un número con dos decimales en PHP

La función incorporada sprintf() formatea una cadena de acuerdo con un formato dado. Se puede usar para mostrar un número a dos decimales. La sintaxis correcta para usar esta función es la siguiente

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

El parámetro $format es el formato que especifica cómo estarán las variables en la cadena. El siguiente parámetro $parameter1 es la primera variable cuyo valor se asignará al primer % de la cadena. El parámetro $parameter2 es la segunda variable cuyo valor se asignará al segundo %en la cadena. De esta manera, podemos insertar N variables para N % signos.

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

Aquí, hemos usado %f para un valor flotante. %.2f indica que el valor flotante será de hasta dos decimales.

Producción :

The number up to two decimal places is 67.00

Artículo relacionado - PHP Number