示例:400638133393
从左到右的权重是 1、3、1、3、1、3、1、3、1、3、1、3,乘积为 4、0、0、18、3、24、1、9、3、9、9、9,合计 89。
下一个十的倍数是 90,所以末位为 1,完整编号是 4006381333931。总和本来就是十的倍数时,校验位是 0,不是 10。
计算公式
校验位 = (10 − 加权总和对 10 取余) 再对 10 取余。第二次取余用于处理结果为零的情况。
EAN-13 只输入前 12 位,不包括末位。前导零是编号的一部分,不能转成数字后丢掉。
UPC-A 与 EAN-8
UPC-A 输入前 11 位,EAN-8 输入前 7 位,仍从右侧以 3、1 交替计算。
验证完整号码时,先移除末位计算,再与输入末位比较。只检查长度是不够的。
校验的边界
末位是错误检测规则,不是商品注册或归属查询。也不能认证印刷质量。
核对原始编号后,请生成成品并用接收系统测试。