thousandSeparated property

String get thousandSeparated

Implementation

String get thousandSeparated {
  if (isNullOrEmpty) return '';
  final numStr = this!;
  if (!RegExp(r'^\d+(\.\d+)?$').hasMatch(numStr)) return numStr;

  final parts = numStr.split('.');
  String integerPart = parts[0];
  String decimalPart = parts.length > 1 ? '.${parts[1]}' : '';

  var result = '';
  for (var i = 0; i < integerPart.length; i++) {
    if (i > 0 && (integerPart.length - i) % 3 == 0) {
      result += ',';
    }
    result += integerPart[i];
  }

  return result + decimalPart;
}