模10“隔位乘2加”校验数算法
(标准的附录) 计算步骤如下: 步骤1:从右边第1个数字开始每隔一位乘以2。
步骤2:把在步骤1中获得的乘积的各位数字与原号码中未乘2的各位数字相加。
步骤3:把步骤2得到的总和从该值的下一个以零结尾的数中减去[得数是总和个位数字的“10”的补数]。如果在步骤2得到的总和是以0结尾的数(30,40等等),则校验数字是0。
例:
无校验数字的账号为 4992 73 9871
4 9 9 2 7 3 9 8 7 1
×2 ×2 ×2 ×2 ×2
18 4 6 16 2 4+1+8+9+4+7+6+9+1+6+7+2=64
70-64=6 带有校验数字的账号即为 4992 73 9871 6。这个语句怎么写。
(标准的附录) 计算步骤如下: 步骤1:从右边第1个数字开始每隔一位乘以2。
步骤2:把在步骤1中获得的乘积的各位数字与原号码中未乘2的各位数字相加。
步骤3:把步骤2得到的总和从该值的下一个以零结尾的数中减去[得数是总和个位数字的“10”的补数]。如果在步骤2得到的总和是以0结尾的数(30,40等等),则校验数字是0。
例:
无校验数字的账号为 4992 73 9871
4 9 9 2 7 3 9 8 7 1
×2 ×2 ×2 ×2 ×2
18 4 6 16 2 4+1+8+9+4+7+6+9+1+6+7+2=64
70-64=6 带有校验数字的账号即为 4992 73 9871 6。这个语句怎么写。
int Sum=0;
int i=1;
int j=0;
while (j<Counter.Length)
{
if (ismumeric(Counter [j]))
{
if (i % 2=0)
{Sum=Sum + (int)Counter[j]; }
i+=1;
}
j+=1;
} int JiaoYanMa;
if (sum % 10=0)
{
JiaoYanMa=0;
}
else
{
JiaoYanMa=Abs((sum%10)-10);
}Counter =Counter + " " + JiaoYanMa.toString;