formatIntegerPart static method
Formats an unformatted integer digit string according to NumberGroupingSystem.
Implementation
static String formatIntegerPart(String digits, NumberGroupingSystem system) {
if (digits.isEmpty) return '';
if (system == NumberGroupingSystem.none) return digits;
if (system == NumberGroupingSystem.international) {
final buffer = StringBuffer();
int count = 0;
for (int i = digits.length - 1; i >= 0; i--) {
buffer.write(digits[i]);
count++;
if (count % 3 == 0 && i > 0) {
buffer.write(',');
}
}
return buffer.toString().split('').reversed.join('');
}
if (system == NumberGroupingSystem.indian) {
if (digits.length <= 3) return digits;
final lastThree = digits.substring(digits.length - 3);
final remaining = digits.substring(0, digits.length - 3);
final buffer = StringBuffer();
int count = 0;
for (int i = remaining.length - 1; i >= 0; i--) {
buffer.write(remaining[i]);
count++;
if (count % 2 == 0 && i > 0) {
buffer.write(',');
}
}
final formattedRemaining = buffer.toString().split('').reversed.join('');
return '$formattedRemaining,$lastThree';
}
return digits;
}