Updated April 20, 2023
Definition of Php number_format()
Php number_format is a function in Php that is used to format a given number in a group of thousands. It is an inbuilt function in Php and returns the formatted number according to the specific requirements given in the parameter by the programmer otherwise it gives E_WARNING to the user on failure. One can separate the thousands with the commas, or the other separators. It accepts the floating number and returns the string of the formatted number with the thousands separated, number with either round off values or the decimal values upto specific digits. By default, the number_format() function separates a thousand groups with the (,) operator when passing the number in it. It is one of the easy and user-friendly ways of representing the floating number which is easily understandable by the user.
Syntax
Below given is the basic syntax of using the number_format() function in Php:
string number_format( float $num, int $decimal =0, string $dec_pt = ' . ' , string $thousand_sep = ' , ' )
where,
- $num = This parameter is mandatory. This is the floating number that needs to be formatted. If no other parameter is set, the number to be formatted is converted into decimal with the thousands separated by the separator.
- $decimal = This parameter is optional. This parameter specifies how many decimals to be displayed after the formatted number. If this parameter is set, (.) is printed after the number and (,) between groups of thousands.
- $dec_pt = This parameter is also optional.It is used to set the separator for decimal values.
- $sep = This parameter is also optional. It is used to specify the string to be used to separate the thousands of values. When this value is given with more than one character, only the first character is used. One important condition to remember is that when this parameter is mentioned, all the other parameters need to be used.
- Return value: On success, this function returns the formatted number which is of String type according to the specification of parameters mentioned otherwise returns E_WARNING on failure.
How does the number_format() Function Work?
Below given are some of the important point describing the working of the number_format() function in Php:
- One can specify the decimal points upto which the floating point number should be displayed and different separators for the thousand groups and for decimal points.
- Php function number_format() either accepts one, two or four parameters. It could not accept three parameters.
- By default, the number_format() function uses the (.) operator for decimal points and (,) for a thousand groups.
- Function number_format() in returns the string value which means we cannot use its output for the mathematical calculations. So one needs to keep in mind that it needs to be used only when the output is displayed.
- When only one parameter is passed, it rounds the floating number to the nearest whole number with no decimal points and thousands separated by commas.
Examples of PHP number_format()
Some of the examples describing the working of Php number_format() function in the program are given below:
Example #1
Code:
<!DOCTYPE html>
<html>
<body>
<?php
$f_num = "Number";
//Using only 1 parameter, i.e. number to be formatted
echo " The formatted number is ". number_format($f_num)."\n\n";
//Using the decimal point and printing the decimal upto the specific digits (2 parameters)
echo number_format($f_num, 5);
?>
</body>
</html>
Output:
Explanation: In the above code, the number in the variable ‘f_num’ should be a floating-point number but is a string. So basically, a string is passed as a parameter in the number_format() function which is technically incorrect. So an error message is displayed to the user on the console for the syntax error.
Example #2
Code:
<!DOCTYPE html>
<html>
<body>
<?php
$f_num = "123.78";
$f_num1 = "67.09";
// With only 1 parameter , i.e. number to be formatted
echo number_format($f_num).'<br>';
echo number_format($f_num1).'<br>';
// Using the decimal point (2 parameters)
echo number_format($f_num, 5).'<br>';
echo number_format($f_num1, 3);
?>
</body>
</html>
Output:
Explanation: In the above code, two floating point numbers are given using the variables ‘f_num’ and ‘f_num1’. Using only the number variables as a parameter in the number_format() function, a thousand groups will be separated. As there would be no thousand groups in both the given numbers, so no separation is there. In order to print the values upto a specific decimal point, a second parameter with the values 5 and 3 is passed. So in the output, floating numbers with the decimal points upto the given number of digits are printed on the console.
Example #3
Code:
<!DOCTYPE html>
<html>
<body>
<?php
$f_num = "178923.78";
$f_num1 = "665467.09";
// Using only 1 parameter, i.e. number to be formatted
echo number_format($f_num).'<br>';
echo number_format($f_num1).'<br>';
// Using the separators for decimal point and thousand groups(4 parameters)
echo number_format($f_num, 5, '.', ',').'<br>';
echo number_format($f_num1, 3, ':', '.');
?>
</body>
</html>
Output:
Explanation: In the above code, a single parameter (number to be formatted) is passed in the function number_format() and a thousand groups in the number given are separated with the (,) operator by default. In order to print the number with the specific separators in thousand groups and decimal points, third and fourth parameters are passed using those separators in the function and printed on the console.
Example #4
Code:
<!DOCTYPE html>
<html>
<body>
<?php
$f_num = "178923.78";
$f_num1 = "665467.09";
//Using the separators for decimal point only(3 parameters)
echo number_format($f_num, 5, ",").'<br>';
echo number_format($f_num1, 3, ".");
?>
</body>
</html>
Output:
Explanation: In the above code, 2 floating numbers are given and only 3 parameters are passed in the number_format() function which is not allowed technically. As the number_format() function either accepts 1, 2 or 4 parameters. So a Warning message is displayed to the user indicating the wrong parameters.
Conclusion
The above description clearly explains what is the number_format() function in Php and how it works to format the floating numbers. This function provides the flexibility to the user to display the output according to the specific requirements by passing the different parameters. It also shows warnings and results in unexpected outputs. So one needs to understand it properly and needs to be very careful before using it in a program.
Recommended Articles
This is a guide to PHP number_format(). Here we also discuss the definition and how does the number_format() function work? along with different examples and its code implementation. You may also have a look at the following articles to learn more –