条形码 Ean13 的校验方法

 这几天在研究条形码  这是ean13的校验码计算方式 不然生成条形码怕是要崩啊 哈哈

 /**
     * 校验输入的是否位12个数字
     *
     * @param Stringtemp  需要生成的12个数字  如“123456789111”
     */
    private static boolean Ean13Check(String Stringtemp)
    {

        int length=Stringtemp.length();

        if (length!=12){
            return false;
        }

        return true;
    }

 /**
     * 校验输入的是否位12个数字
     *
     * @param Stringtemp  需要生成的12个数字  如“123456789111”
     *
     *返回值:将校验位加上并返回  如“1234567898”
     */
    private static String  Ean13Creat(String Stringtemp)
    {

        int[] datas=new int[12];//输入的12位
        for (int i=0;i<12;i++){
            int a=Stringtemp.charAt(i)-48;
            datas[i]=a;
        }
        //奇数位和&&偶数位和
        int p=datas[0]+datas[2]+datas[4]+datas[6]+datas[8]+datas[10];
        int q=datas[1]+datas[3]+datas[5]+datas[7]+datas[9]+datas[11];
        //校验位
        int tes =10-((p+3*q)%10);
        if (tes==10){
            tes=0;
        }

        Stringtemp+=tes;

        return Stringtemp;
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章