ホームページ > バックエンド開発 > PHPチュートリアル > バーコードチェックデジット計算式 PHP、T-SQLプログラム_PHPチュートリアル

バーコードチェックデジット計算式 PHP、T-SQLプログラム_PHPチュートリアル

WBOY
リリース: 2016-07-13 17:47:55
オリジナル
1563 人が閲覧しました

最近の作業では、バーコードの 13 番目のチェック デジットのバッチ変更を計算する必要がありました。AI、バーコード プリンター、バーコード スキャナー、その他のソフトウェアにはチェック デジット生成機能が組み込まれていますが、オンラインで検索してバーコード ジェネレーターを見つけましたが、十分な柔軟性がありませんでした。そこで、チェックデジットを計算するためのミニプログラムを 1 つ書きました

条形码 条码打印机 条码扫描器

OK、まずは PHP バージョンを見てみましょう。オンラインで見つかるものよりもはるかに簡単です。

関数 en13($code)
{
$tmp1=0; $tmp2=0; for($i=0;$i {
If($i % 2==0)
$tmp1+=substr($code,$i,1);
それ以外
$tmp2+=substr($code,$i,1);                                                                (10-($tmp2*3+$tmp1)%10)%10 を返します。 }

// www.2cto.com をテストします
$t="6939762911740"; エコー en13($t); 関数 en13($code)
{
$tmp1=0;
$tmp2=0;
for($i=0;$i {
if($i % 2==0)
$tmp1+=substr($code,$i,1); それ以外
$tmp2+=substr($code,$i,1); }
return (10-($tmp2*3+$tmp1)%10)%10;
}

//テスト
$t="6939762911740";
エコー en13($t);
プログラムを作成せずに、MSSQL データベース内のデータをバッチで更新する必要もあります

T-SQL コード


@str を varchar(15) として宣言します

@tmp を varchar(30) として宣言します

@t1 を int として宣言します
@t2 を int として宣言します
@i int を宣言します
@t1=0 を設定します

@t2=0 を設定します

@str='6939762911740' を設定します

@i=1 を設定します

@i<=12
しながら 始まります
@i % 2=0 の場合
始まります
set @t1=@t1+substring(@str,@i,1)
終わり
それ以外は
始まります
set @t2=@t2+substring(@str,@i,1)
終わり
@i=@i+1 を設定します

終わり

set @tmp=(10-(@t1*3+@t2)%10)%10

-- 関数の終了
@t1、@t2、@tmp を選択してください
@str を varchar(15) として宣言します
@tmp を varchar(30) として宣言します
@t1 を int として宣言します
@t2 を int として宣言します
@i int を宣言します
@t1=0 を設定します
@t2=0 を設定します
@str='6939762911740' を設定します
@i=1 を設定します
@i<=12
しながら 始まります
if @i % 2=0
始まります
set @t1=@t1+substring(@str,@i,1)
終わり
それ以外
始まります
set @t2=@t2+substring(@str,@i,1)
終了
@i=@i+1 を設定します

終わり

set @tmp=(10-(@t1*3+@t2)%10)%10

-- 関数終了
SELECT @t1、@t2、@tmp www.2cto.com
ENA-13 チェックコードの計算方法 コード位置通し番号 コード位置通し番号とは、チェックコードを含む右から左への通し番号です(チェックコードのコード位置通し番号は 1)。 計算手順 チェック コードの計算手順は次のとおりです: a. コード位置番号 2 から開始して、すべての偶数桁のデジタル コードを合計します。 b. ステップ a の合計に 3 を掛けます。 c. コード位置番号 3 から始めて、すべての奇数桁のデジタル コードを合計します。 d. ステップ b と c の結果を加算します。 e. ステップ d で取得した結果以上で 10 の最小整数倍の数値から、ステップ d で取得した結果を減算します。その差が、必要なチェック コードの値になります。例: コード 690123456789X1 のチェック コードの計算を表 1 に示します。 表 1 チェック コードを計算する手順の例 1. 右から左への番号付け 位置番号 13 12 11 10 9 8 7 6 5 4 3 2 1 コード 6 9 0 1 2 3 4 5 6 7 8 9 X 2。通し番号2から偶数桁の和を求めます ① 9+7+5+3+1+9=34 ① 3. ①*3=② 34×3=102 ② 4. 通し番号3から始めて求めます奇数桁 上記の数値の合計 ③ 8+6+4+2+0+6=26 ③ 5. ②+③=④ 102+26=128 ④ 6. 以上の数値を引きます。結果④と④の10の最小の整数倍、その差は必要なチェックコードの値 130-128=2 チェックコードX1=2

Tao2581さんの日々のメモより抜粋

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/478484.html技術記事最近の仕事では、バーコードの 13 番目のチェック デジットの一括変更を計算することが含まれており、AI、バーコード プリンター、バーコード スキャナー、その他のソフトウェアにはチェック デジット生成機能が組み込まれています。私もオンライン検索でバーコード ジェネレーターを見つけました。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート