PHP number_format() Function
Topic: PHP String ReferencePrev|Next
Description
The number_format()
function format a number with grouped thousands.
The following table summarizes the technical details of this function.
Return Value: | Returns the formatted number. |
---|---|
Changelog: | Since PHP 7.2.0 this function will not return -0, previously -0 could be returned for cases like where number would be -0.01. |
Version: | PHP 4+ |
Syntax
The basic syntax of the number_format()
function is given with:
The following example shows the number_format()
function in action.
Example
Run this code »<?php
echo number_format("1234000"); // Outputs: 1,234,000
echo number_format("1234000", 2); // Outputs: 1,234,000.00
?>
Parameters
The number_format()
function accepts the following parameters.
Parameter | Description |
---|---|
number | Required. Specifies the number to be formatted. |
decimals | Optional. Specifies the number of decimal points. |
decimal_point | Optional. Specifies what string to use for decimal point. |
separator | Optional. Specifies what string to use for thousands separator. |
This function accepts either one, two, or four parameters (not three):
- If only one parameter is given, number will be formatted without decimals, but with a comma (",") between every group of thousands.
- If two parameters are given, number will be formatted with decimals with a dot (".") in front, and a comma (",") between every group of thousands.
- If all four parameters are given, number will be formatted according to the values specified for the individual parameters (see the table above).
More Examples
Here're some more examples showing how number_format()
function actually works:
If decimals parameter is ignored or not specified correctly this function may round off the number. So be careful while formatting the data like product prices. Here's an example:
Example
Run this code »<?php
echo number_format("1234.99"); // Outputs: 1,235
echo number_format("1234.99", 1); // Outputs: 1,235.0
echo number_format("1234.99", 2); // Outputs: 1,234.99
?>