summaryrefslogtreecommitdiff
path: root/src/utils/size_display.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils/size_display.rs')
-rw-r--r--src/utils/size_display.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/utils/size_display.rs b/src/utils/size_display.rs
new file mode 100644
index 0000000..3e2bc29
--- /dev/null
+++ b/src/utils/size_display.rs
@@ -0,0 +1,14 @@
+pub fn size_display<'a>(total_bytes: usize) -> (f64, &'a str) {
+ let total_bytes = total_bytes as f64;
+ if total_bytes >= 1024.0 * 1024.0 * 1024.0 * 1024.0 {
+ (total_bytes / (1024.0 * 1024.0 * 1024.0 * 1024.0), "TB")
+ } else if total_bytes >= 1024.0 * 1024.0 * 1024.0 {
+ (total_bytes / (1024.0 * 1024.0 * 1024.0), "GB")
+ } else if total_bytes >= 1024.0 * 1024.0 {
+ (total_bytes / (1024.0 * 1024.0), "MB")
+ } else if total_bytes >= 1024.0 {
+ (total_bytes / 1024.0, "KB")
+ } else {
+ (total_bytes, "B")
+ }
+}