我需要显示以不同货币呈现的用户金额. e.q. :
Your balance: $100 000.00 € 70 000.00 3 000 000,00 руб.
所以我需要使用不同语言环境(en,eu,ru)三次使用number_to_currency.这样做的正确方法是什么?
解决方法
我认为您实际上不需要不同的区域设置,因为您只有不同货币的余额.您可以简单地将其他参数传递给number_to_currency.像这样的东西:
number_to_currency(70000.00,:unit => "€",:separator => ".",:delimiter => " ",:format => "%u %n")
这将显示:€70 000.00
此外,您似乎可以在调用number_to_currency时设置:locale选项.它没有记录,但这里是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',:raise => true) rescue {}
所以你应该能够做到这样的事情:
number_to_currency(70000.00,:locale => :ru)