formatComparison static method

String formatComparison(
  1. double fromBytes,
  2. double toBytes, {
  3. int decimals = 2,
  4. bool showPercentage = true,
})

Format a comparison between two values.

Example:

print(NegativeByteFormatter.formatComparison(1000000, 500000));
// "976.56 KB → 488.28 KB (-488.28 KB, -50.0%)"

Implementation

static String formatComparison(
  double fromBytes,
  double toBytes, {
  int decimals = 2,
  bool showPercentage = true,
}) {
  final fromConverter = ByteConverter(fromBytes);
  final toConverter = ByteConverter(toBytes);
  final delta = SizeDelta(fromBytes, toBytes);

  final fromStr = fromConverter.display.auto(precision: decimals);
  final toStr = toConverter.display.auto(precision: decimals);
  final deltaStr = delta.format(decimals: decimals);

  if (showPercentage && !delta.isUnchanged) {
    return '$fromStr → $toStr ($deltaStr, ${delta.percentageChangeFormatted})';
  }

  return '$fromStr → $toStr ($deltaStr)';
}