withSeparator static method

String withSeparator(
  1. num value, {
  2. String separator = ',',
})

Formats a number with thousand separators

Example:

NumberFormatters.withSeparator(1234567); // '1,234,567'

Implementation

static String withSeparator(num value, {String separator = ','}) {
  final parts = value.toString().split('.');
  final integerPart = parts[0];
  final decimalPart = parts.length > 1 ? '.${parts[1]}' : '';

  final buffer = StringBuffer();
  for (int i = 0; i < integerPart.length; i++) {
    if (i > 0 && (integerPart.length - i) % 3 == 0) {
      buffer.write(separator);
    }
    buffer.write(integerPart[i]);
  }
  return '$buffer$decimalPart';
}