其他分享
首页 > 其他分享> > 字符操作问题

字符操作问题

作者:互联网

char a = (char)56;//56代表的ascii码的8
int ii = Convert.ToInt16(a);//字符直接转换为整数得到的是ascii码的值
string ss = a.ToString();//转换为ascii值所代表的字符
int i2 = Convert.ToInt32(ss);//转换字符的整数值

 

附:imei校验位


/*** 根据 IMEI 的前 14 位,得到第 15 位的校验位 * IMEI 校验码算法:
* * (1).将偶数位数字分别乘以
* 2,分别计算个位数和十位数之和
* * (2).将奇数位数字相加,再加上上一步算得的值
* * (3).如果得出的数个位是 0 则校验位为 0,否则为 10 减去个位数
* * 如:35 89 01 80 69 72 41 偶数位乘以 2 得到 5*2=10 9*2=18 1*2=02 0*2=00 9*2=18 2*2=04 1*2=02,
* 计算奇数位数字之和和偶数位个位十位之和,
* * 得到 3+(1+0)+8+(1+8)+0+(0+2)+8+(0+0)+6+(1+8)+7+(0+4)+4+(0+2)=63
* * 校验位 10-3 = 7
* * @param imei * @return */
private static String getimei15(string imei)
{
if (imei.Length == 14)
{
char[] imeiChar = imei.ToCharArray();
int resultInt = 0;
for (int i = 0; i < imeiChar.Count(); i++)
{
int a = Convert.ToInt32((imeiChar[i]).ToString());
i++;
int temp = Convert.ToInt32(( imeiChar[i]).ToString()) * 2;
int b = temp < 10 ? temp : temp - 9;
resultInt += a + b;
}
resultInt %= 10;
resultInt = resultInt == 0 ? 0 : 10 - resultInt;
return resultInt + "";
}
else
{
return "";
}
}

标签:字符,校验位,resultInt,int,问题,imeiChar,imei,操作,10
来源: https://www.cnblogs.com/jathonZhuang/p/15607711.html