toCompact method

String toCompact({
  1. int decimals = 1,
})

Returns a compact string representation (K, M, B, T).

1500000.toCompact()   // '1.5M'
2300.toCompact()      // '2.3K'
999.toCompact()       // '999'

Implementation

String toCompact({int decimals = 1}) {
  final abs = this.abs();
  final sign = this < 0 ? '-' : '';
  if (abs >= 1e12) return '$sign${(abs / 1e12).toStringAsFixed(decimals)}T';
  if (abs >= 1e9) return '$sign${(abs / 1e9).toStringAsFixed(decimals)}B';
  if (abs >= 1e6) return '$sign${(abs / 1e6).toStringAsFixed(decimals)}M';
  if (abs >= 1e3) return '$sign${(abs / 1e3).toStringAsFixed(decimals)}K';
  return toString();
}