addCommas function
Takes an integer or string and add commas as separator NOTE: it converts Fa digits to En digits
Implementation
String addCommas(Object number) {
if (number is! int && number is! String && number is! double) {
throw Exception(exception);
}
final numberStr = number.runtimeType is String
? number as String //
: number.toString();
final enNumberStr =
isPersian(numberStr) ? convertFaToEn(numberStr) : numberStr;
final decimalNumber = enNumberStr.split('.');
final integerPart = decimalNumber[0].replaceAllMapped(
RegExp(addCommasRegExp),
(matched) => '${matched[1]},',
);
String decimalPart;
try {
decimalPart = '.${decimalNumber[1]}';
} on RangeError catch (_) {
decimalPart = '';
}
return integerPart + decimalPart;
}