From b094757b0321af444587b70cc38aa903f79d297b Mon Sep 17 00:00:00 2001 From: Nik Date: Fri, 2 Sep 2022 22:49:35 +0200 Subject: [PATCH] includes/type: Display size type bytes without decimal points --- includes/type/size.pat | 45 ++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/includes/type/size.pat b/includes/type/size.pat index 7361331..71e3b79 100644 --- a/includes/type/size.pat +++ b/includes/type/size.pat @@ -9,32 +9,35 @@ namespace type { namespace impl { fn size_formatter(u128 size) { - double sizeValue = size; + double sizeFloat = size; u32 i = 0; - while (sizeValue >= 1024 && i <= 6) { + while (sizeFloat >= 1024 && i <= 6) { i += 1; - sizeValue /= 1024; + sizeFloat /= 1024; } - str result = std::format("{:.3f} ", sizeValue); - - if (i == 0 && size == 1) - return result + "Byte"; - else if (i == 0) - return result + "Bytes"; - else if (i == 1) - return result + "kiB"; - else if (i == 2) - return result + "MiB"; - else if (i == 3) - return result + "GiB"; - else if (i == 4) - return result + "TiB"; - else if (i == 5) - return result + "PiB"; - else - return result + "EiB"; + if (i == 0) { + if (size == 1) + return std::format("{} Byte", size); + else + return std::format("{} Bytes", size); + } else { + str result = std::format("{:.3f} ", sizeFloat); + + if (i == 1) + return result + "kiB"; + else if (i == 2) + return result + "MiB"; + else if (i == 3) + return result + "GiB"; + else if (i == 4) + return result + "TiB"; + else if (i == 5) + return result + "PiB"; + else + return result + "EiB"; + } }; }