formatCompactAmount static method

String formatCompactAmount(
  1. num amount, {
  2. String symbol = '₹',
  3. int fractionDigits = 1,
})

Formats amount using K/L/Cr compaction.

Implementation

static String formatCompactAmount(
  num amount, {
  String symbol = '₹',
  int fractionDigits = 1,
}) {
  final absolute = amount.abs();
  final sign = amount < 0 ? '-' : '';

  if (absolute < 1000) {
    return '$sign$symbol${_trim(absolute.toStringAsFixed(0))}';
  }

  if (absolute < 100000) {
    return '$sign$symbol${_trim((absolute / 1000).toStringAsFixed(fractionDigits))}K';
  }

  if (absolute < 10000000) {
    return '$sign$symbol${_trim((absolute / 100000).toStringAsFixed(fractionDigits))}L';
  }

  return '$sign$symbol${_trim((absolute / 10000000).toStringAsFixed(fractionDigits))}Cr';
}