我需要将字节的整数表示格式化为友好的东西,我希望在Ruby或Rails中有一个实用函数可以为我做格式化(当然是为了使我的懒惰永久化.)
我正在寻找一些看起来像的东西:
format_bytes(1024) -> "1 KB" format_bytes(1048576) -> "1 MB"
看起来ActiveSupport中有一些东西可以反过来做,但我还没有找到一种方法来实现这个目标.
如果没有一个存在,有没有人有一个特别优雅的解决方案?
数字到人的大小是你正在寻找的.
require 'action_view' include ActionView::Helpers::NumberHelper number_to_human_size(123) # => 123 Bytes number_to_human_size(1234) # => 1.2 KB number_to_human_size(12345) # => 12.1 KB number_to_human_size(1234567) # => 1.2 MB number_to_human_size(1234567890) # => 1.1 GB number_to_human_size(1234567890123) # => 1.1 TB number_to_human_size(1234567, :precision => 2) # => 1.18 MB number_to_human_size(483989, :precision => 0) # => 473 KB number_to_human_size(1234567, :precision => 2, :separator => ',') # => 1,18 MB