]> git.seodisparate.com - swaybar_info/commitdiff
Impl use floats for net-rate values (precision .2)
authorStephen Seo <seo.disparate@gmail.com>
Sat, 9 Jul 2022 09:35:54 +0000 (18:35 +0900)
committerStephen Seo <seo.disparate@gmail.com>
Sat, 9 Jul 2022 09:35:54 +0000 (18:35 +0900)
src/proc.rs

index e09119f58de3f4f35846dbea9e03735bb30bf795..11103040193443cf3a1b65e7d6860775be2c549b 100644 (file)
@@ -58,26 +58,26 @@ impl NetInfo {
     }
 
     pub fn get_netstring(&mut self) -> String {
-        let down_diff = self.down - self.prev_down;
+        let down_diff: f64 = (self.down - self.prev_down) as f64;
         self.prev_down = self.down;
-        let up_diff = self.up - self.prev_up;
+        let up_diff: f64 = (self.up - self.prev_up) as f64;
         self.prev_up = self.up;
 
         let mut output = String::new();
-        if down_diff > 1024 * 1024 {
-            output.push_str(&format!("{} MiB ", down_diff / 1024 / 1024));
-        } else if down_diff > 1024 {
-            output.push_str(&format!("{} KiB ", down_diff / 1024));
+        if down_diff > 1024.0 * 1024.0 {
+            output.push_str(&format!("{:.2} MiB ", down_diff / (1024.0 * 1024.0)));
+        } else if down_diff > 1024.0 {
+            output.push_str(&format!("{:.2} KiB ", down_diff / 1024.0));
         } else {
-            output.push_str(&format!("{} B ", down_diff));
+            output.push_str(&format!("{:.0} B ", down_diff));
         }
 
-        if up_diff > 1024 * 1024 {
-            output.push_str(&format!("{} MiB", up_diff / 1024 / 1024));
-        } else if up_diff > 1024 {
-            output.push_str(&format!("{} KiB", up_diff / 1024));
+        if up_diff > 1024.0 * 1024.0 {
+            output.push_str(&format!("{:.2} MiB", up_diff / (1024.0 * 1024.0)));
+        } else if up_diff > 1024.0 {
+            output.push_str(&format!("{:.2} KiB", up_diff / 1024.0));
         } else {
-            output.push_str(&format!("{} B", up_diff));
+            output.push_str(&format!("{:.0} B", up_diff));
         }
 
         output