作者sdu37 (sdu)
看板Visual_Basic
标题[VB6 ] 有关运算式确认码写法
时间Fri Jul 8 15:34:48 2011
从学校毕业到现在已经四五年了,以前有写过vb(大约 8~9年前)
现在因为工作上需要,需要写一个小程式
但我却完全摸不着头绪
不知版上是否有人可以让我知这该怎麽写~~
我要有14码的数字
前四码是固定,第5~6码是检查码,第7~14码是自行输入的数字
(检查码就是经过计算後所得知的数字
以1007 09842316为例:
1007 09842316
x)1212 12121212
a = 1*1+7*2+9*2+8*1+4*2+2*1+3*2+1*1+6*2
= 1 +1+4+1+8+ 8 + 8 + 2 + 6 + 1 +1+2
= 43 Chk1 = 3
1007 09842316
x)1371 37137137
b = 1*1+7*1+9*7+8*1+4*3+2*7+3*1+1*3+6*7
= 1 + 7 + 63+ 8 + 12+ 14+ 3 + 3 +42
= 153 Chk2 = 3
之後所得到的数字:10073309842316
不知这样的程式该怎麽写才好
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.66.145.136
1F:→ MOONRAKER:阿就val(mid(s,1,1))*1 + val(mid(s,2,1))*2 + ... 07/08 18:04
2F:→ MOONRAKER:加完最後mod 10不就是第一个检查码 07/08 18:05
3F:→ MOONRAKER:第二个检查码把乘数改一改也就有了 07/08 18:05
4F:→ MOONRAKER:最後就left(s,4)+chkwhatever+right(s,8) 07/08 18:06
5F:→ MOONRAKER:你嫌他罗唆可以用array()和for来修理 07/08 18:08
6F:→ MOONRAKER:还有你chk1是不是算错? 7*2 + 9*2 = 1 + 4 + 1 + 8 !? 07/08 18:14
7F:→ sdu37:回M大,没有错耶!1212部分10位数跟个位数要分开加 07/11 08:19
8F:→ sdu37:137137部分要合在一起加再取个位数,我还在研究要怎麽写 07/11 08:19
10F:→ MOONRAKER:没错的话你照我上面讲的写一写就行了 07/12 14:03
11F:→ MOONRAKER:太长行尾可以用 _ 续行,记得 _ 之前必须要有空白 07/12 14:04
12F:→ sdu37:嗯,谢谢M大,但後来上头决定还是用网页的方式撰写 07/15 11:27
13F:→ sdu37:但你说的方式我大约可以了解该怎麽用(虽我现的能力还没有办 07/15 11:27
14F:→ sdu37:法写出来,但大概有个方向 07/15 11:28