formatToIndian static method
String
formatToIndian(
- dynamic number, {
- String? currency,
})
Implementation
static String formatToIndian(dynamic number, {String? currency}) {
if (number is! BigInt && number is! int) {
throw ArgumentError("Input must be an int or BigInt.");
}
String numberStr = number.toString();
int n = numberStr.length;
if (n <= 3) return numberStr;
String lastThree = numberStr.substring(n - 3);
String rest = numberStr.substring(0, n - 3);
String formatted = rest.replaceAllMapped(
RegExp(r".{1,2}(?=(.{2})+$)"), (Match m) => "${m.group(0)},");
formatted += ",$lastThree";
if (currency != null && currencySigns.containsKey(currency)) {
formatted = "${currencySigns[currency]} $formatted";
}
return formatted;
}