是否可以格式化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
.
这是一个坏主意吗?我是否应该担心这会对视图上下文之外的数字产生影响?有没有更好的方法来实现这个目标?