JAVA-EAN-13校验位计算

JAVA-EAN-13校验位是一种常用的条形码,其中包含13位数字,最后一位是校验位,用于校验前12位数字的正确性。下面介绍JAVA-EAN-13校验位的计算方法。

1、计算步骤

JAVA-EAN-13校验位的计算方法如下:

(1)将前12位数字从左到右,依次分别乘以1、3、1、3、1、3、1、3、1、3、1、3;

(2)将乘积相加;

(3)将和除以10,取余数;

(4)如果余数为0,校验位即为0;如果余数不为0,将10减去余数,所得的数即为校验位。

2、示例代码

public static int getEAN13CheckDigit(String code) {
    int[] weight = {1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3};
    int sum = 0;
    for (int i = 0; i < 12; i++) {
        int digit = Integer.parseInt(code.substring(i, i + 1));
        sum += digit * weight[i];
    }
    int mod = sum % 10;
    if (mod == 0) {
        return 0;
    } else {
        return 10 - mod;
    }
}

3、总结

JAVA-EAN-13校验位计算方法是一种简单的数据校验方法,其计算步骤是将前12位数字从左到右,依次分别乘以1、3、1、3、1、3、1、3、1、3、1、3,将乘积相加,将和除以10,取余数,如果余数为0,校验位即为0;如果余数不为0,将10减去余数,所得的数即为校验位。