PHP money_format() Function
Example
International en_US format:
<?php
$number = 1234.56;
setlocale(LC_MONETARY,"en_US");
echo money_format("The price is %i", $number);
?>
The output of the code above will be:
The price is USD 1,234.56
Definition and Usage
The money_format() function returns a string formatted as a currency string.
This function inserts a formatted number where there is a percent (%) sign in the main string.
Note: The money_format() function does not work on Windows platforms.
Tip: This function is often used together with the setlocale() function.
Tip: To view all available language codes, go to our Language code reference.
Syntax
money_format(string,number)
Parameter | Description |
---|---|
string | Required. Specifies the string to be formatted and how to format the variables in it. Possible format values: Padding and Flags:
Field width:
Conversion characters:
Note: If multiple format values are used, they must be in the same order as shown above. Note: This function is affected by local settings. |
number | Required. The number to be inserted at the %-sign in the format string |
Technical Details
Return Value: | Returns the formatted string. Characters before and after the formatting string will be returned unchanged. Non-numeric number causes returning NULL and emitting E_WARNING |
---|---|
PHP Version: | 4.3.0+ |
More Examples
Example 1
International format (Germany) with 2 decimals:
<?php
$number = 1234.56;
setlocale(LC_MONETARY,"de_DE");
echo money_format("%.2n", $number);
?>
The output of the code above will be:
1 234,56 EUR
Example 2
Negative number, US national format with () to indicate negative numbers and 2 digits of right precision and "*" as a fill character:
<?php
$number = -1234.5672;
echo money_format("%=*(#10.2n",$number);
?>
The output of the code above will be:
(******1234.57)