diff options
author | Arda Cinar <kuzux92@gmail.com> | 2022-12-15 16:31:38 +0300 |
---|---|---|
committer | Sam Atkins <atkinssj@gmail.com> | 2023-01-02 20:11:18 +0000 |
commit | 0dbb1be81c44af99dc8740f6b614976731a4bec8 (patch) | |
tree | aa10b2c9b12acd2b3ec0054ea21653610218c63d /AK/NumberFormat.cpp | |
parent | ccb6b4f943b51be496d0f1d6499bf7153e12e20d (diff) | |
download | serenity-0dbb1be81c44af99dc8740f6b614976731a4bec8.zip |
AK: Add an option to format numbers with 1000 based units
Instead of only allowing 1024-based units.
Diffstat (limited to 'AK/NumberFormat.cpp')
-rw-r--r-- | AK/NumberFormat.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/AK/NumberFormat.cpp b/AK/NumberFormat.cpp index 66d41cf357..89a8b2d7d8 100644 --- a/AK/NumberFormat.cpp +++ b/AK/NumberFormat.cpp @@ -23,12 +23,12 @@ static DeprecatedString number_string_with_one_decimal(u64 number, u64 unit, Str return DeprecatedString::formatted("{}.{} {}", integer_part, decimal_part, suffix); } -DeprecatedString human_readable_quantity(u64 quantity, StringView unit) +DeprecatedString human_readable_quantity(u64 quantity, HumanReadableBasedOn based_on, StringView unit) { - constexpr u64 size_of_unit = 1024; + u64 size_of_unit = based_on == HumanReadableBasedOn::Base2 ? 1024 : 1000; constexpr auto unit_prefixes = AK::Array { "", "K", "M", "G", "T", "P", "E" }; auto full_unit_suffix = [&](int index) { - auto binary_infix = (size_of_unit == 1024 && index != 0) ? "i"sv : ""sv; + auto binary_infix = (based_on == HumanReadableBasedOn::Base2 && index != 0) ? "i"sv : ""sv; return DeprecatedString::formatted("{}{}{}", unit_prefixes[index], binary_infix, unit); }; @@ -51,9 +51,9 @@ DeprecatedString human_readable_quantity(u64 quantity, StringView unit) size_of_current_unit, full_unit_suffix(unit_prefixes.size() - 1)); } -DeprecatedString human_readable_size(u64 size) +DeprecatedString human_readable_size(u64 size, HumanReadableBasedOn based_on) { - return human_readable_quantity(size, "B"sv); + return human_readable_quantity(size, based_on, "B"sv); } DeprecatedString human_readable_size_long(u64 size) |