【问题标题】:ruby on rails i18n and number_to_currency negative valuesruby on rails i18n 和 number_to_currency 负值
【发布时间】:2012-05-07 00:21:26
【问题描述】:

我使用 number_to_currency 来显示金额,但我遇到了负值问题。我的 hr.yml 看起来像这样:

 number:
    currency:
      format:
        format: "%n %u"
        separator: ","
        delimiter: "."      
        unit: "KN"  

正常的数字看起来还可以。例如对于 212,我得到 212,50 KN,这是正确的。 但是对于 -212 我得到了 -KN212,50 这是错误的。 我在任何地方都找不到解决方案。我做错了什么? 谢谢

【问题讨论】:

    标签: ruby-on-rails ruby internationalization


    【解决方案1】:

    只需将此行放入您的 config/locales/your-locale.yml 文件中:

      number:
        currency:
          format:
            negative_format: '-%n %u'
    

    并对其进行更改以使其适合您的需求。

    在 Rails 3.1.6 应用中测试。

    【讨论】:

      【解决方案2】:

      您可以在 number_to_currency 调用中指定否定格式:

      number_to_currency(1.99, :negative_format => '- %n %u')
      

      除非我弄错了,否则不幸的是,似乎没有办法将此格式存储在您的 YAML 文件中:https://github.com/rails/rails/blob/c70135807ed786e6c9e18a35cc83ac6007450ca2/actionpack/lib/action_view/helpers/number_helper.rb#L123

      【讨论】:

      • 可能值得为此打开一个问题
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多