Snippet Name: Currency display formatting function
Description: Great function to display a variety of currency formats from around the world.
Comment: (none)
Language: PHP
Highlight Mode: PHP
Last Modified: March 16th, 2009
|
<?PHP
$number = 1234.56;
// let's print the international format for the en_US locale
SETLOCALE(LC_MONETARY, 'en_US');
ECHO MONEY_FORMAT('%i', $number)."\n";
// USD 1,234.56
// Italian national format with 2 decimals`
SETLOCALE(LC_MONETARY, 'it_IT');
ECHO MONEY_FORMAT('%.2n', $number)."\n";
// L. 1.234,56
// Using a negative number
$number = -1234.5672;
// US national format, using () for negative numbers
// and 10 digits for left precision
SETLOCALE(LC_MONETARY, 'en_US');
ECHO MONEY_FORMAT('%(#10n', $number)."\n";
// ($ 1,234.57)
// Similar format as above, adding the use of 2 digits of right
// precision and '*' as a fill character
ECHO MONEY_FORMAT('%=*(#10.2n', $number)."\n";
// ($********1,234.57)
// Let's justify to the left, with 14 positions of width, 8 digits of
// left precision, 2 of right precision, withouth grouping character
// and using the international format for the de_DE locale.
SETLOCALE(LC_MONETARY, 'de_DE');
ECHO MONEY_FORMAT('%=*^-14#8.2i', 1234.56)."\n";
// DEM 1234,56****
// Let's add some blurb before and after the conversion specification
SETLOCALE(LC_MONETARY, 'en_GB');
$fmt = 'The final value is %i (after a % discount)';
ECHO MONEY_FORMAT($fmt, 1234.56)."\n";
// The final value is GBP 1,234.56 (after a discount)
?>
|