Просмотр исходного кода

use toStringAsPrecision to round bytes to reduce code complexity

ashilkn 2 лет назад
Родитель
Сommit
7af32aaf7a
1 измененных файлов с 5 добавлено и 8 удалено
  1. 5 8
      lib/utils/data_util.dart

+ 5 - 8
lib/utils/data_util.dart

@@ -25,16 +25,13 @@ String formatBytes(int bytes, [int decimals = 2]) {
   return ((bytes / pow(k, i)).toStringAsFixed(dm)) + ' ' + storageUnits[i];
 }
 
-num convertUsedSpaceInBytesToGB(int bytes) {
+num convertBytesToGB(int bytes) {
   const tenGBinBytes = 10737418240;
-  int fractionDigits = 0;
+  int precision = 0;
   if (bytes < tenGBinBytes) {
-    fractionDigits = 1;
-  }
-  num bytesInGB =
-      num.parse((bytes / (pow(1024, 3))).toStringAsFixed(fractionDigits));
-  if (fractionDigits == 1 && bytesInGB.remainder(1) == 0) {
-    bytesInGB = bytesInGB.toInt();
+    precision = 1;
   }
+  final bytesInGB =
+      num.parse((bytes / (pow(1024, 3))).toStringAsPrecision(precision));
   return bytesInGB;
 }