如题
条码是 13位,其中 前两位 和后两位为配置的固定值 中间9位 中前8位为输入的号码区间,第九位为校验位
例如 1126265001599 11,99 为固定值,26265001 为输入值,5为校验位 校验位采用UPU通用的"mod11"计算方式
如何输入连续的8位号码段,能生成 13位的条码?
校验位采用UPU通用的"mod11"计算方式 的规则
有EXCEL实现的版本 EXCEL下载地址为http://pan.baidu.com/s/1kT429gF
------解决思路----------------------
不用LINQ应该是这样:
public static string Generate(string input)
{
byte[] w = new byte[] { 8, 6, 4, 2, 3, 5, 9, 7 };
int s = 0;
for (int i = 0; i < w.Length; i++)
s += w[i] * (input[i] - '0');
s %= 11;
char check = s == 0 ? '5' : (s == 1 ? '0' : (char)(11 - s + '0'));
return string.Concat("11", input, check, "99");
}