toReadable method
Formats this integer as a readable number with K, M, B, T suffixes. Automatically chooses the appropriate suffix based on value.
Example:
int value = 1500;
String readable = value.toReadable(); // '1.5K'
1500000.toReadable(); // '1.5M'
1500000000.toReadable(); // '1.5B'
1500000000000.toReadable(); // '1.5T'
Implementation
String toReadable() {
final absValue = abs();
final isNegative = this < 0;
final sign = isNegative ? '-' : '';
if (absValue < 1000) return '$sign$absValue';
if (absValue < 1000000) return '$sign${(absValue / 1000).toStringAsFixed(1)}K';
if (absValue < 1000000000) return '$sign${(absValue / 1000000).toStringAsFixed(1)}M';
if (absValue < 1000000000000) return '$sign${(absValue / 1000000000).toStringAsFixed(1)}B';
return '$sign${(absValue / 1000000000000).toStringAsFixed(1)}T';
}