uso de la funcion money_format()

184 views
Skip to first unread message

diego

unread,
Jul 25, 2012, 1:24:34 PM7/25/12
to php...@googlegroups.com
Estimados.
estoy intentando usa esta función del a siguiente manera:

echo money_format('%=*(#10.2n'$number) . "\n";

pero el resultado que obtengo en valores negativos es

($********1234.57)

y necesito que me lo devuelva separados por miles

($********1,234.57)

asumo que es porque no estoy usando 

setlocale(LC_MONETARY'en_US');

tengo manera de pasarlo a la función cada vez que la invoque?
o si o si tengo que declararlo? intente previamente hacer un money_format('%=*(#10.2n',number_format($number,2))
pero me da error 

saludos y gracias

diego

Bruno Tenaglia

unread,
Jul 25, 2012, 1:53:52 PM7/25/12
to php...@googlegroups.com

Que tal, mira hacía rato que no la usaba y mirando en un lugar donde hice uso de ella, hice lo sgte: 

function setMoneyFotmar($value) {
setlocale(LC_MONEY, 'en_US');
return money_format('%=*(#10.2n, $value);
}

Entonces después

echo setMoneyFormat(1234.56) ;

Quizas pueda servirte esta forma.

Saludos
-------------------------------------------
Bruno M. Tenaglia -
Analista de Sistemas / Analista Programador
Twitter: @bruno_tenaglia
Celular: 3416007222
------------------------------------------   Enviado desde un Motorola Milestone

-------------------------------------------


diego

--
Has recibido este mensaje porque estás suscrito al grupo "Grupo PHP Argentina" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a php...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a php-arg+u...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/php-arg?hl=es.

diego

unread,
Jul 25, 2012, 2:26:02 PM7/25/12
to php...@googlegroups.com
un poco mas abajo en la documentacion estaba la respuesta =) gracias bruno

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

sabes si hay forma de sacar el simbolo $ O USD) ?

Jonathan Muszkat

unread,
Jul 25, 2012, 2:31:36 PM7/25/12
to php...@googlegroups.com
Si queres sacar los simbolos entonces usa number_format y no money_format ;)

2012/7/25 diego <dieg...@gmail.com>



--
Jonathan Ariel Muszkat
Gtalk: mus...@gmail.com
Celular: (011)15-4-399-6363
Linkedin: http://www.linkedin.com/in/musky
Twitter: @jonymusky
Blog: http://www.jonymusky.com.ar

Skype: jony.musky

The only way to do great work is to love what you do. If you haven’t found it yet, keep looking. -- Steve Jobs

diego

unread,
Jul 25, 2012, 2:33:29 PM7/25/12
to php...@googlegroups.com
yeap lo pense. pero con number_format
no puedo transformar -100 en (100) o si?

BARBAZUL

unread,
Jul 25, 2012, 11:04:05 PM7/25/12
to php...@googlegroups.com

A estas alturas no salís ganando con una función propia?

Diego Cañizares

unread,
Jul 25, 2012, 1:35:18 PM7/25/12
to php...@googlegroups.com
2012/7/25 diego <dieg...@gmail.com>
>
> tengo manera de pasarlo a la función cada vez que la invoque?
>

No, money_format recibe sólo dos parámetros: el formato y el valor a formatear.


>
> o si o si tengo que declararlo?
>

Si tu precisás que tu software utilice el mismo tipo de formateo en
todos los casos, podrías definirlo en un bootstrap y listo.


>
> intente previamente hacer un
> money_format('%=*(#10.2n',number_format($number,2))
> pero me da error
>

Qué error?

BTW: Tené en cuenta que money_format sólo está definida en ambientes
*NIX, en Windows no existe.

Saludos,

--
Diego G. Cañizares
Geek | Coder | Lover
http://bynarius.com.ar
http://diegocanizares.com.ar

--
Por favor, evite enviarme documentos adjuntos en formato Word, Excel o
PowerPoint.
Lea http://www.gnu.org/philosophy/no-word-attachments.es.html

diego

unread,
Jul 31, 2012, 11:32:31 AM7/31/12
to php...@googlegroups.com
yeap ya gane BARBAZUL
gracias

Reply all
Reply to author
Forward
0 new messages