发表时间:2014-09-05来源:网络
最近工作涉及计算条形码第 13位校验位批量更改, AI、条码打印机、条码扫描器等软件内置生成校验位,网上搜索也找了条码生成器,但对我们来说不够灵活,编写了一个小程序 计算校验位

OK 先看看PHP版的,跟网上搜索到的简单了不少
function en13($code)
{
$tmp1=0;
$tmp2=0;
for($i=0;$i<12;$i++)
{
if($i % 2==0)
$tmp1+=substr($code,$i,1);
else
$tmp2+=substr($code,$i,1);
}
return (10-($tmp2*3+$tmp1)%10)%10;
}
//测试 www.zhishiwu.com
$t="6939762911740";
echo en13($t);
function en13($code)
{
$tmp1=0;
$tmp2=0;
for($i=0;$i<12;$i++)
{
if($i % 2==0)
$tmp1+=substr($code,$i,1);
else
$tmp2+=substr($code,$i,1);
}
return (10-($tmp2*3+$tmp1)%10)%10;
}
//测试
$t="6939762911740";
echo en13($t);
还有要把MSSQL数据库中的数据批量更新 就不写程序了 直接在sql企业管理器里更新
T-SQl代码
declare @str as varchar(15)
declare @tmp as varchar(30)
declare @t1 as int
declare @t2 as int
declare @i int
set @t1=0
set @t2=0
set @str='6939762911740'
set @i=1
while @i<=12
begin
if @i % 2=0
begin
set @t1=@t1+substring(@str,@i,1)
end
else
begin
set @t2=@t2+substring(@str,@i,1)
end
set @i=@i+1
end
set @tmp=(10-(@t1*3+@t2)%10)%10
--end function
SELECT @t1 ,@t2,@tmp
declare @str as varchar(15)
declare @tmp as varchar(30)
declare @t1 as int
declare @t2 as int
declare @i int
set @t1=0
set @t2=0
set @str='6939762911740'
set @i=1
while @i<=12
begin
if @i % 2=0
begin
set @t1=@t1+substring(@str,@i,1)
end
else
begin
set @t2=@t2+substring(@str,@i,1)
end
set @i=@i+1
end
set @tmp=(10-(@t1*3+@t2)%10)%10
--end function
SELECT @t1 ,@t2,@tmp www.zhishiwu.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 日常小记
上一篇:PHP遍历单目录可写权限脚本
下一篇:解决php加载慢的一个办法
CI框架连接数据库配置操作以及多数据库操作
asp 简单读取数据表并列出来 ASP如何快速从数据库读取大量数据
C语言关键字及其解释介绍 C语言32个关键字详解
C语言中sizeof是什么意思 c语言里sizeof怎样用法详解
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
PHP中的(++i)前缀自增 和 (i++)后缀自增
将视频设置为Android手机开机动画的教程
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
常用dos命令及语法
PHP中include和require区别之我见
溧阳论坛触屏版手机版下载v5.4.2.18 安卓版
68.37MB |生活服务
保利悠悦荟最新版app2026下载v3.1.6 安卓版
35.73MB |生活服务
i泰达官方版下载v2.0.10 安卓版
66.01MB |生活服务
与糖医护手机版下载v4.2.0 安卓版
46.54MB |生活服务
智慧宫翻译阿拉伯语手机版下载v1.91.0 安卓版
50.68MB |生活服务
专注清单app下载v15.9 安卓版
42.61MB |生活服务
物性表手机版下载v2.3.0 安卓版
71.12MB |商务办公
hooli留学公寓app下载v5.6.1 安卓官方版
28.64MB |生活服务
2014-09-05
2022-03-20
2022-03-21
2022-03-24
2014-09-05
2014-09-05
2015-07-05
2014-09-05
2022-03-21
2014-09-05