Formats the bytes in number
into a more understandable
representation (e.g., giving it 1500 yields 1.5 KB). This method is useful
for reporting file sizes to users. You can customize the format in the
options
hash.
See number_to_human
if you want to pretty-print a generic
number.
Options
-
:locale
- Sets the locale to be used for formatting (defaults to current locale). -
:precision
- Sets the precision of the number (defaults to 3). -
:significant
- Iftrue
, precision will be the # of significant_digits. Iffalse
, the # of fractional digits (defaults totrue
) -
:separator
- Sets the separator between the fractional and integer digits (defaults to â.â). -
:delimiter
- Sets the thousands delimiter (defaults to ââ). -
:strip_insignificant_zeros
- Iftrue
removes insignificant zeros after the decimal separator (defaults totrue
) -
:prefix
- If:si
formats the number using the SI prefix (defaults to :binary)
Examples
number_to_human_size(123) # => 123 Bytes number_to_human_size(1234) # => 1.21 KB number_to_human_size(12345) # => 12.1 KB number_to_human_size(1234567) # => 1.18 MB number_to_human_size(1234567890) # => 1.15 GB number_to_human_size(1234567890123) # => 1.12 TB number_to_human_size(1234567, precision: 2) # => 1.2 MB number_to_human_size(483989, precision: 2) # => 470 KB number_to_human_size(1234567, precision: 2, separator: ',') # => 1,2 MB
Non-significant zeros after the fractional separator are stripped out by
default (set :strip_insignificant_zeros
to false
to change that):
number_to_human_size(1234567890123, precision: 5) # => "1.1229 TB" number_to_human_size(524288000, precision: 5) # => "500 MB"
Please login to continue.