23 lines
698 B
Dart
23 lines
698 B
Dart
import 'dart:math';
|
|
|
|
import 'package:intl/intl.dart';
|
|
|
|
const _units = ["B", "kB", "MB", "GB", "TB"];
|
|
|
|
({String size, String unit}) formatByteSpeed(int speed) {
|
|
const base = 1024;
|
|
if (speed <= 0) return (size: "0", unit: "B/s");
|
|
final int digitGroups = (log(speed) / log(base)).round();
|
|
return (
|
|
size: NumberFormat("#,##0.#").format(speed / pow(base, digitGroups)),
|
|
unit: "${_units[digitGroups]}/s",
|
|
);
|
|
}
|
|
|
|
String formatTrafficByteSize(int consumption, int total) {
|
|
const base = 1024;
|
|
if (total <= 0) return "0 B / 0 B";
|
|
final formatter = NumberFormat("#,##0.#");
|
|
return "${formatter.format(consumption / pow(base, 3))} GB / ${formatter.format(total / pow(base, 3))} GB";
|
|
}
|