Функция number_format

La función number_format permite formatear números. Se utiliza principalmente para separar los millares con espacios, por ejemplo, puede convertir 1234567 en 1 234 567.

Además, la función permite ajustar la cantidad de decimales. Esta cantidad se especifica con un segundo parámetro opcional.

Por ejemplo, se puede convertir la fracción 12345.6789 en 12 345.68 - la función agregará espacios entre los millares y redondeará la fracción a dos decimales.

El tercer parámetro opcional define el separador decimal (por defecto es un punto, pero se puede cambiar). Al usar el tercer parámetro, es obligatorio usar también el cuarto - que establece el separador de millares (por defecto es una coma, pero se puede cambiar, por ejemplo, por un espacio). Es decir, por defecto la función separa los millares con comas: convierte 1234567 en 1,234,567.

Sintaxis

phpnumber_format(float $num, int $decimals = 0, ?string $decimal_separator = ".", ?string $thousands_separator = ","): string
phpnumber_format(número, cantidad_de_decimales);
phpnumber_format(número, cantidad_de_decimales, separador_decimal, separador_de_millares);

Ejemplo

Separemos los millares con una coma:

php<?php
  echo number_format(1234567);
?>

Resultado de ejecutar el código:

php'1,234,567'

Ejemplo

Separemos los millares con una coma, y redondeemos la parte decimal a dos dígitos:

php<?php
  echo number_format(1234.567, 2);
?>

Resultado de ejecutar el código:

php'1,234.57'

Ejemplo

Separemos los millares con un espacio, redondeemos la parte decimal a dos dígitos, y usemos la barra como separador decimal:

php<?php
  echo number_format(1234.567, 2, '/', ' ');
?>

Resultado de ejecutar el código:

php1 234/57

Ejemplo

Separemos los millares con un espacio, redondeemos la parte decimal a dos dígitos, y usemos un punto como separador decimal:

php<?php
  echo number_format(1234.567, 2, '.', ' ');
?>

Resultado de ejecutar el código:

php1 234.57

Véase también

  • la función printf,
    que formatea una cadena