number_with_precision格式化带连字符的数字

时间:2014-01-20 18:20:21

标签: ruby-on-rails ruby formatting

number_with_precision(ActionView :: Helpers :: NumberHelper中包含的辅助方法)正在连接输出编号。在我们将Ruby从1.9.3升级到2.10之后,这开始在我们的登台和生产环境中发生。我们仍在运行Rails 3.2.15。

示例:

>> include ActionView::Helpers::NumberHelper
>> number_with_precision(10000)
=> "10-000,000"

在我的开发机器中,它按预期返回"10000,000"

2 个答案:

答案 0 :(得分:2)

我想这是因为某种语言环境。

可以肯定的是,明确提供(非)分隔符:

number_with_precision(10000, delimiter: '')

避免重复选项创建自己的帮助程序或在application_helper中的麻烦:

def number_with_precision(number, options = {})
  options[:delimiter] ||= ''
  super(number, options)
end

答案 1 :(得分:1)

@apneadiving指出这是一个语言环境问题,而且肯定是。 在我的语言环境文件中,我有:

es:
 number:
   precision:
     format:
       delimiter: "-"

精确属性用于number_with_precision,如http://ruby-i18n.org/wiki/translations-available-in-ruby-on-rails中指出的那样。

删除该配置解决了我的问题。