A continuación se muestran varios ejemplos de uso de la función
money_format() con diferentes cadenas
de formato y configuraciones locales.
<?php
$number = 1234.56;
/ Mostremos este número en formato internacional para en_US
setlocale(LC_MONETARY, 'en_US');
echo money_format('%i', $number) . "\n";
/ USD 1,234.56
/ Y en formato nacional italiano con 2 decimales
setlocale(LC_MONETARY, 'it_IT');
echo money_format('%.2n', $number) . "\n";
/ L. 1.234,56
/ Uso de un número negativo
$number = -1234.5672;
/ Formato nacional de EE.UU., con paréntesis para números negativos
/ y 10 dígitos de precisión a la izquierda
setlocale(LC_MONETARY, 'en_US');
echo money_format('%(#10n', $number) . "\n";
/ ($ 1,234.57)
/ Formato similar al anterior, añadiendo 2 decimales
/ para la precisión derecha, y utilizando el carácter de relleno '*'
echo money_format('%=*(#10.2n', $number) . "\n";
/ ($********1,234.57)
/ Utilicemos ahora la justificación a la izquierda, con un campo de 14 caracteres
/ de largo, sin agrupamiento de dígitos, y utilizando el formato internacional
/ para de_DE
setlocale(LC_MONETARY, 'de_DE');
echo money_format('%=*^-14#8.2i', 1234.56) . "\n";
/ DEM 1234,56****
/ Añadamos aún más al ejemplo anterior
setlocale(LC_MONETARY, 'en_GB');
$fmt = 'El valor final es %i (tras un 10 %% de descuento)';
echo money_format($fmt, 1234.56) . "\n";
/ El valor final es GBP 1,234.56 (tras un 10 % de descuento)
?>