身份证15To18 的算法

王朝other·作者佚名  2006-01-09
宽屏版  字体: |||超大  

using System;

using System.Threading;

namespace KeyboardRecord

{

/// <summary>

/// Class1 的摘要说明。

/// </summary>

class Class1

{

/// <summary>

/// 应用程序的主入口点。

/// </summary>

[STAThread]

static void Main(string[] args)

{

//

// TODO: 在此处添加代码以启动应用程序

//

string a = Console.ReadLine();

if (a.Length!=15)

{

Console.WriteLine("Please input correct idnumber");

}

else

{

Console.WriteLine(getCheckCode(a));

}

}

static string getCheckCode(string sfzh)

{

char[] strJiaoYan = {'1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'};

int[] intQuan = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1};

string strTemp;

int intTemp = 0;

strTemp = sfzh.Substring(0,6) + "19" + sfzh.Substring(6);

for (int i=0;i<=strTemp.Length-1;i++)

{

intTemp += int.Parse(strTemp.Substring(i,1))*intQuan[i];

}

intTemp = intTemp % 11;

return strTemp + strJiaoYan[intTemp];

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有