2

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

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

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

4

2 回答 2

6

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

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

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

在 Rails 3.1.6 应用程序中测试。

于 2012-07-02T14:18:09.917 回答
4

您可以在 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

于 2012-05-07T08:32:05.470 回答