And*_*sov 8 currency ruby-on-rails internationalization
我需要显示以不同货币呈现的用户数量.eq:
Your balance: $ 100 000.00
€ 70 000.00
3 000 000,00 ???.
Run Code Online (Sandbox Code Playgroud)
所以我需要使用number_to_currency三次不同的语言环境(en,eu,ru).做正确的方法是什么?
我认为您实际上不需要不同的区域设置,因为您只有不同货币的余额.您可以简单地将其他参数传递给number_to_currency.像这样的东西:
number_to_currency(70000.00, :unit => "€", :separator => ".", :delimiter => " ", :format => "%u %n")
Run Code Online (Sandbox Code Playgroud)
这将显示:€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 {}
Run Code Online (Sandbox Code Playgroud)
所以你应该能够做到这样的事情:
number_to_currency(70000.00, :locale => :ru)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4303 次 |
| 最近记录: |