number_to_currency locale converting

joshim5 picture joshim5 · Aug 30, 2011 · Viewed 20.3k times · Source

Why does number_to_currency(33.50, :locale => :fr) displaying $33.50? It should display it in different currency based on the locale. I would expect a result of 33,50 €.

Thanks a lot!

Answer

Saad Masood picture Saad Masood · Feb 21, 2014

I know this is a bit late. But just wanted to expalin the above answer. Use it as following:

number_to_currency(aNumber, :locale => :fr)

This uses the file config/locales/fr.yml. You can form your own currency format and define it in config/locales/fr.yml. The File will contain the following:

fr:
   number:
     currency:
        format:
          unit: '€'
          delimiter: ','
          separator: '.'
          precision: 2
          format: '%n%u'

unit is the currency Symbol. also you can format the whole string with the format:. More on this Here