我需要显示以不同货币显示的用户数量。 e.q. :
Your balance: $ 100 000.00
€ 70 000.00
3 000 000,00 руб.
所以我需要在不同的语言环境(en,eu,ru)中使用number_to_currency
三次。什么是正确的方法?
答案 0 :(得分:9)
我认为您实际上不需要不同的区域设置,因为您只有不同货币的余额。您可以简单地将其他参数传递给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', :locale => options[:locale], :raise => true) rescue {}
所以你应该能够做到这样的事情:
number_to_currency(70000.00, :locale => :ru)