1

是否可以格式化rails应用程序中的所有数字以进行分隔?

我真的不认为这是一个 i18n 问题,因为我对默认的分隔符/分隔符很好。我只是想避免将 number_with_delimiter(value) 放在我的视图中。

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

到目前为止,我已经尝试使用从 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.

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

4

0 回答 0