formatThousands static method

String formatThousands(
  1. String val
)

Helper to format raw numeric strings into thousands-grouped notations.

Implementation

static String formatThousands(String val) {
  final cleanValue = val.replaceAll(RegExp(r'[^\d.]'), '');
  if (cleanValue.isEmpty) return '';
  final parts = cleanValue.split('.');
  final integerPart = parts[0];
  final decimalPart = parts.length > 1 ? parts[1] : null;

  final formattedInteger = integerPart.replaceAllMapped(
    RegExp(r'(\d)(?=(\d{3})+(?!\d))'),
    (Match m) => '${m[1]},',
  );

  if (decimalPart != null) {
    return '$formattedInteger.$decimalPart';
  }
  return formattedInteger;
}