【问题标题】:number_to_currency separator/delimiter issue 100{:separator=>",", :delimiter=>".", :raise=>true}000number_to_currency 分隔符/分隔符问题 100{:separator=>",", :delimiter=>".", :raise=>true}000
【发布时间】:2011-08-09 11:18:31
【问题描述】:

我在使用 i18n 时偶然发现了一个非常烦人的问题。

使用时:

<%= number_to_currency("100000000.123456") %>

我正在屏幕上:

100{:separator=>",", :delimiter=>".", :raise=>true}000{:separator=>",", :delimiter=>".", :raise=>true}000 €

这里是我的语言环境 yml:

number:
  currency:
    format:
      unit: "&euro;"
      precision: 0
      separator: " "
      delimiter: "."
      format: "%n&nbsp;%u"

我使用的是 Rails 3.0.0rc,我现在已经升级到 3.0.9,问题仍然存在。

按照建议,我从语言环境文件中删除了格式:“%n %u”,但问题仍然存在。

我正在使用 i18n 0.5.0

希望你能帮忙,

干杯,

乔尔

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 internationalization


    【解决方案1】:

    您的语言环境 yml 应该只具有指定的格式。

    number:
      currency:
        format: "%n&nbsp;%u"
    

    要为其他选项设置默认值,我建议使用类似于设置日期格式的初始化程序。

    config/initializers/default_currency_values.rb

    ActionView::Helpers::NumberHelper::DEFAULT_CURRENCY_VALUES.merge({
      :unit => "&euro;",
      :precision => 0,
      :separator => " ",
      :delimiter => "."
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-15
      • 2014-06-25
      相关资源
      最近更新 更多