La función number_format() es una función incorporada en PHP que se usa para formatear un número con miles agrupados. Devuelve el número formateado en caso de éxito; de lo contrario, da E_WARNING en caso de falla.
Sintaxis:
string number_format ( $number, $decimals, $decimalpoint, $sep )
Parámetros: esta función acepta cuatro parámetros, como se mencionó anteriormente y se describe a continuación:
- $número: Es un parámetro obligatorio que especificó el número a formatear. Si no se establecen otros parámetros, el número se formateará sin decimales y con la coma (, ) como separador de miles.
- $decimales: es un parámetro opcional y se usa para especificar decimales. Si se establece este parámetro, el número se formateará con un punto (.) como punto decimal.
- $decimalpoint: es un parámetro opcional y se usa para especificar la string que se usará para el punto decimal.
- $sep: es un parámetro opcional y se usa para especificar la string que se usará para el separador de miles. Si se proporciona este parámetro, se requieren todos los demás parámetros.
Valor de retorno: devuelve el número formateado en caso de éxito, de lo contrario, da E_WARNING en caso de falla.
Ejemplos:
Input: $number = 100000 Output: 10, 000 Input: $number = 10000 $decimals = 3 $decimalpoints = "." $sep =, Output: 10, 0000.000
Los siguientes programas ilustran la función number_format() en PHP:
Programa 1:
<?php $num1 = "999999.49"; // With out decimal point parameter echo number_format($num1)."\n"; // With decimal Point parameter echo number_format($num1, 3)."\n"; $num2 = "9999999.99"; // With out decimal point parameter // return Round value echo number_format($num2)."\n"; // With decimal Point parameter echo number_format($num2, 3)."\n"; // With All four parameters echo number_format("1000000.99", 3, "#", "GGG"); ?>
Producción:
999,999 999,999.490 10,000,000 9,999,999.990 1GGG000GGG000#990
Programa 2: Si pasa algo en lugar de números, da una advertencia.
<?php $num = "GFG"; // With out decimal point parameter echo number_format($num)."\n\n"; // With decimal Point parameter echo number_format($num, 3); ?>
Salida :
PHP Warning: number_format() expects parameter 1 to be float, string given in /home/ac476aaecea758334cb8ed146bcbb8f6.php on line 5 PHP Warning: number_format() expects parameter 1 to be float, string given in /home/ac476aaecea758334cb8ed146bcbb8f6.php on line 8
Programa 3: Esta función no acepta tres parámetros, solo acepta 1, 2 o 4 parámetros.
<?php $num = 1000000; // passing 3 parameters It gives errors because function // accepting only 1, 2 or 4 parameters echo number_format($num, 3, ", "); ?>
Salida :
PHP Warning: Wrong parameter count for number_format() in /home/e426108b066d9a86366249bf7b626d19.php on line 6
Referencia: http://php.net/manual/en/function.number-format.php