addCommas method
Implementation
String addCommas(Object number) {
if (number is! int && number is! String && number is! double) {
throw Exception('Type should be String or int');
}
final numberStr = number.runtimeType is String
? number as String //
: number.toString();
final enNumberStr = PersianTools.isPersian(numberStr) ? convertFaToEn(numberStr) : numberStr;
final decimalNumber = enNumberStr.split('.');
final integerPart = decimalNumber[0].replaceAllMapped(
RegExp(r'(\d)(?=(\d{3})+(?!\d))'),
(matched) => '${matched[1]},',
);
String decimalPart;
try {
decimalPart = '.${decimalNumber[1]}';
} on RangeError catch (_) {}
decimalPart = '';
return integerPart + decimalPart;
}