calculateCheckDigit static method

String calculateCheckDigit(
  1. String vin
)

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();
}