Foxtable(狐表)用户栏目专家坐堂 → [求助]如何取一个计算结果的个位数


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

主题:[求助]如何取一个计算结果的个位数

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


加好友 发短信
等级:婴狐 帖子:28 积分:301 威望:0 精华:0 注册:2012/5/24 17:03:00
[求助]如何取一个计算结果的个位数  发帖心情 Post By:2012/5/25 13:07:00 [只看该作者]

通过狐狸爸爸的解答,改动列为字符型后,顺利的将不同列的数字并列显示,而不是相加了。
现在我通过类型转换进行计算效验码,得出的一个数字需要取其个位数。
不知如何实现,请狐狸爸爸及大家不吝赐教。万分感谢。

附:ean-13条形码效验码计算公式
12 位数字从左至右,分别计算奇数位以及偶数位之和

2.求奇数位之和

3.求偶数位之和,结果乘以 3

4. 2步,个计算结果相加

5. 4 步的结果取个位数,用 10 减去个位数得到的数字,即是校验码

6. 5 步个位数为 0 的话,校验码也是 0


我的代码实现至第四步,第五步无法实现了。

以下内容为程序代码:

1 ((Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],1,1),'System.Byte')+
2 Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],3,1),'System.Byte')+
3 Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],5,1),'System.Byte')+
4 Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],7,1),'System.Byte')+
5 Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],9,1),'System.Byte')+
6 Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],11,1),'System.Byte'))+
7
8 (Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],2,1),'System.Byte')+
9 Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],4,1),'System.Byte')+
10 Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],6,1),'System.Byte')+
11 Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],8,1),'System.Byte')+
12 Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],10,1),'System.Byte')+
13 Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],12,1),'System.Byte')*3))
14



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


加好友 发短信
等级:婴狐 帖子:28 积分:301 威望:0 精华:0 注册:2012/5/24 17:03:00
  发帖心情 Post By:2012/5/25 14:00:00 [只看该作者]

刚才写的计算代码类型有些问题,现在重新发一下
以下内容为程序代码:

1 (Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],1,1),'System.Int32'))+
2 (Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],3,1),'System.Int32'))+
3 (Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],5,1),'System.Int32'))+
4 (Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],7,1),'System.Int32'))+
5 (Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],9,1),'System.Int32'))+
6 (Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],11,1),'System.Int32'))
7 +
8 ((Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],2,1),'System.Int32'))+
9 (Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],4,1),'System.Int32'))+
10 (Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],6,1),'System.Int32'))+
11 (Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],8,1),'System.Int32'))+
12 (Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],10,1),'System.Int32'))+
13 (Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],12,1),'System.Int32'))*3)


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/5/25 14:41:00 [只看该作者]

别用表达式了,改用代码吧。

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


加好友 发短信
等级:婴狐 帖子:28 积分:301 威望:0 精华:0 注册:2012/5/24 17:03:00
  发帖心情 Post By:2012/5/25 14:51:00 [只看该作者]

额~~经过无数次的查看帮助文件,及纠结类型转换。
已经通过表达式实现了此功能。
应该是个最笨的办法,但是已经成功使用了。
表达式如下
Substring(
Convert(
(
10-
Convert(
Substring(
Convert(
(
((Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],1,1),'System.Int32'))+
(Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],3,1),'System.Int32'))+
(Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],5,1),'System.Int32'))+
(Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],7,1),'System.Int32'))+
(Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],9,1),'System.Int32'))+
(Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],11,1),'System.Int32')))
+
(((Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],2,1),'System.Int32'))+
(Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],4,1),'System.Int32'))+
(Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],6,1),'System.Int32'))+
(Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],8,1),'System.Int32'))+
(Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],10,1),'System.Int32'))+
(Convert(Substring(698+[条形码_品牌ID]+[条形码_分类ID]+[条形码_材质ID]+[条形码_商品ID],12,1),'System.Int32')))*3)
+100
),'System.String')
,3,1)
,'System.Int32')
)+10
,'System.String')
,2,1)

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/5/25 14:52:00 [只看该作者]

哈哈,我很佩服你呢。

 

图片点击可在新窗口打开查看


 回到顶部