calculateIsbn13CheckDigit static method
- DigitString input
Implementation
static int? calculateIsbn13CheckDigit(DigitString input) {
const weights = [1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3];
var inputList = input.intList;
if (input.length != 13) {
return null;
}
var sumProd = 0;
for (var i = 0; i < 12; i++) {
sumProd += inputList[i] * weights[i];
}
return (10 - sumProd % 10) % 10;
}