以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何取一个计算结果的个位数  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=19940)

--  作者:lqwxm
--  发布时间: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
--  发布时间: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)


--  作者:狐狸爸爸
--  发布时间:2012/5/25 14:41:00
--  
别用表达式了,改用代码吧。
--  作者:lqwxm
--  发布时间: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)

--  作者:狐狸爸爸
--  发布时间:2012/5/25 14:52:00
--  

哈哈,我很佩服你呢。

 

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