calculateCheckDigit static method
Calculates the Position 9 check digit for a 17-character VIN.
Implementation
static String calculateCheckDigit(String vin) {
if (vin.length != 17) return '';
int sum = 0;
for (int i = 0; i < 17; i++) {
final char = vin[i].toUpperCase();
final val = _charValues[char] ?? 0;
sum += val * _positionWeights[i];
}
final remainder = sum % 11;
return remainder == 10 ? 'X' : remainder.toString();
}