Function jupiter::fmt::format_size

source ·
pub fn format_size(size_in_bytes: usize) -> String
Expand description

Formats a given size in bytes.

This function determines the ideal unit (ranging from bytes to petabytes) to provide a concise representation.

Note that a helper function format_bytes is also provided which directly consumes a std::fmt::Write.

Examples

assert_eq!(jupiter::fmt::format_size(0), "0 bytes");
assert_eq!(jupiter::fmt::format_size(1), "1 byte");
assert_eq!(jupiter::fmt::format_size(100), "100 bytes");
assert_eq!(jupiter::fmt::format_size(8_734), "8.53 KiB");
assert_eq!(jupiter::fmt::format_size(87_340), "85.3 KiB");
assert_eq!(jupiter::fmt::format_size(873_400), "853 KiB");
assert_eq!(jupiter::fmt::format_size(8_734_000), "8.33 MiB");
assert_eq!(jupiter::fmt::format_size(87_340_000), "83.3 MiB");
assert_eq!(jupiter::fmt::format_size(873_400_000), "833 MiB");
assert_eq!(jupiter::fmt::format_size(8_734_000_000), "8.13 GiB");
assert_eq!(jupiter::fmt::format_size(87_340_000_000), "81.3 GiB");
assert_eq!(jupiter::fmt::format_size(873_400_000_000), "813 GiB");
assert_eq!(jupiter::fmt::format_size(8_734_000_000_000), "7.94 TiB");
assert_eq!(jupiter::fmt::format_size(87_340_000_000_000), "79.4 TiB");
assert_eq!(jupiter::fmt::format_size(873_400_000_000_000), "794 TiB");
assert_eq!(jupiter::fmt::format_size(8_734_000_000_000_000), "7.76 PiB");
assert_eq!(jupiter::fmt::format_size(87_340_000_000_000_000), "77.6 PiB");
assert_eq!(jupiter::fmt::format_size(873_400_000_000_000_000), "776 PiB");