Currency Display Formatting Function

Description: Great function to display a variety of currency formats from around the world.

<?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)
 
?>

Enjoyed this post? Share it!

 

Leave a comment

Your email address will not be published.