Programación en PHP, Javascript, Java, Python

Formato moneda con PHP – PHP Tips

The PHP logo displaying the Handel Gothic font.
Image via Wikipedia

Con la función money_format  money_format( $formato, $numero ),  podemos convertir un numero en el formato de moneda sin necesidad de estar agregando el símbolo, establecer el numero de decimales que tendrá el numero, el separador de miles y el separador de decimales. En formato lo mas sencillo es poner “%i” o “%n” siendo la primera el formato internacional para la configuración regional y la segunda el formato nacional para la configuración regional.

Estas opciones las coges de las locales que tengamos definidas en el sistema, y aquí viene lo divertido de la historia.

Primero establecemos el formato monetario con setlocale.

$numero = 12345.67;
setlocale(LC_MONETARY, 'es_ES');
echo money_format('%i', $numero) ."\n"; // devuelve 12.345,6,7 EUR
echo money_format('%n', $numero) ."\n"; //devuelve 12.345,67 €

Es posible que probéis estos ejemplos y no funcionen, uno de los motivos es si estais usando ubuntu o cualquier distro basada en Debian, en estas distros hay que poner en vez de es_ES , es_ES.UTF-8, o puede que estéis probando esta función en windows y no funcione a lo cual me remito a lo que dice la documentacion de PHP:

“La función money_format() sólo está definida si el sistema tiene capacidad strfmon. Por ejemplo, Windows no lo hace, así que money_format() no está definido en Windows.”

Por lo tanto si tenemos la aplicación corriendo en un windows no podremos utilizar esta función tan util.

+ Info: http://es.php.net/manual/es/function.money-format.php

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s