Foxtable(狐表)用户栏目专家坐堂 → 【分享】商品条形码校验位的计算方法


  共有8996人关注过本帖树形打印复制链接

主题:【分享】商品条形码校验位的计算方法

帅哥哟,离线,有人找我吗?
Fotable
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1015 积分:6979 威望:0 精华:0 注册:2012/8/1 18:41:00
【分享】商品条形码校验位的计算方法  发帖心情 Post By:2012/10/25 13:23:00 [只看该作者]

同学们一定见过商品的条形码吧!商品条形码是一个13位数,它是商品的“身份证”.条形码中前8位是厂商识别代码,接着4位是商品项目代码,最后一位是校验码,校验码是由前12位数按一定公式计算而得出的.其计算公式见下表.

步骤 举例说明
1.自右向左编号 某商品条形码为:690123456789X(X为校验码)
位置序号 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
校验码X=2

 回到顶部
帅哥哟,离线,有人找我吗?
Fotable
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1015 积分:6979 威望:0 精华:0 注册:2012/8/1 18:41:00
  发帖心情 Post By:2012/10/25 13:29:00 [只看该作者]

这个要写成函数,该怎么写呀

 回到顶部
帅哥哟,离线,有人找我吗?
Fotable
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1015 积分:6979 威望:0 精华:0 注册:2012/8/1 18:41:00
  发帖心情 Post By:2012/10/25 13:49:00 [只看该作者]

Dim e13 As String = "690123456789"
Dim ji,ou As Integer
ji =val(e13.Chars(0)) + val (e13.Chars(2)) +val(e13.Chars(4))+val(e13.Chars(6))+val(e13.Chars(8))+val(e13.Chars(10))
ou =val(e13.Chars(1)) + val (e13.Chars(3)) +val(e13.Chars(5))+val(e13.Chars(7))+val(e13.Chars(9))+val(e13.Chars(11))
ji = (3*ou + ji) Mod 10
output.show(10 -ji)

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/10/25 16:17:00 [只看该作者]

 呵呵,如果较真一点,求和就用一个循环吧……

 还不知道条形码怎么来的,只知道是一串无规律的数字。

 回到顶部
帅哥哟,离线,有人找我吗?
Fotable
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1015 积分:6979 威望:0 精华:0 注册:2012/8/1 18:41:00
  发帖心情 Post By:2012/10/25 16:21:00 [只看该作者]

用一个循环比较困难,用2个循环简单一点

 回到顶部