條形碼 Ean13 的校驗方法

 這幾天在研究條形碼  這是ean13的校驗碼計算方式 否則生成條形碼怕是要崩啊 哈哈java

/**
     * 校驗輸入的是否位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;
    }
相關文章
相關標籤/搜索