2010-06-05 12 views
8

Necesito mostrar el monto del usuario presentado en diferentes monedas. e.q. :rieles diferentes formatos de moneda

Your balance: $ 100 000.00 
       € 70 000.00 
       3 000 000,00 руб. 

por eso es necesario utilizar number_to_currency tres veces con diferentes lugares (en, la UE, RU). ¿Cuál es la forma correcta de hacerlo?

+5

Siempre me he preguntado acerca de cómo los símbolos de moneda del empate a formato de numeración trabajos. Son dos * cosas completamente diferentes *. El formato del número depende del idioma del contenido, mientras que el símbolo de la moneda depende de la moneda de la que esté hablando. Por ejemplo, si escribo sobre dólares estadounidenses en un sitio web finlandés, no utilizo el método estadounidense para escribir la parte numérica. Tal vez debería blog sobre esto o algo ... –

+2

y, por cierto, el signo € debe venir después de la cantidad. – allesklar

+0

@Matti Estoy de acuerdo contigo; los dos son definitivamente independientes. – bjnord

Respuesta

9

No creo que realmente necesite diferentes configuraciones regionales, ya que solo tiene saldos en diferentes monedas. Simplemente puede pasar argumentos adicionales a number_to_currency. Algo como esto:

number_to_currency(70000.00, :unit => "€", :separator => ".", :delimiter => " ", :format => "%u %n") 

esta pantalla: 70 € 000.00

Además, parece que se puede establecer: opción local al llamar number_to_currency. No está documentado, pero aquí es la parte del código number_to_currency:

defaults = I18n.translate('number.format''number.format', :locale => options[:locale], :raise => true) rescue {} 
currency = I18n.translate('number.currency.format''number.currency.format', :locale => options[:locale], :raise => true) rescue {} 

lo que debería ser capaz de hacer algo como:

number_to_currency(70000.00, :locale => :ru) 
+0

Necesito mostrar 30 monedas más y Creo que hay alguna forma de cambiar la configuración regional predeterminada en rieles ... –

+0

@SMiX Modifiqué mi respuesta para incluir: opción de configuración regional. –

+0

¡Funciona! Gracias. No hay esta opción en la documentación oficial. –

Cuestiones relacionadas