在rails app中全局划分数字?

时间:2012-07-10 16:25:18

标签: ruby-on-rails internationalization

是否可以将rails应用中的所有数字格式化为分隔符?

我真的不认为这是一个i18n问题,因为我没有使用默认的分隔符/分隔符字符。我只是试图避免在我的观点中放置number_with_delimiter(值)。

我总是希望数字显示为分隔符。总是

到目前为止,我已尝试使用number_with_delimiter方法中的代码扩展Fixnum类:

class Fixnum

  def delimit(delimiter=",", separator=".")
    begin
      parts = self.to_s.split('.')
      parts[0].gsub!(/(\d)(?=(\d\d\d)+(?!\d))/, "\\1#{delimiter}")
      parts.join separator
    rescue
      self
    end
  end 
end

> 98734578.delimit => "98,734,578"

> 223.delimit => "223"

所以这是朝着正确方向迈出的一步 - 我喜欢点符号以及略短的方法名称。但我想将其应用于视图内的Fixnum的所有实例,而无需调用.delimit

这是个坏主意吗?我是否应该担心这会对视图上下文之外的数字产生什么影响?有没有更好的方法来实现这一目标?

0 个答案:

没有答案