1using System;
2using System.Collections;
3
4public class MyClass
5{
6 public static void Main()
7 {
8 Console.WriteLine(per15To18(“429005811009091”));
9 RL();
10 }
11
12 public static string per15To18(string perIDSrc)
13 {
14 int iS = 0;
15
16 //加权因子常数
17 int[] iW=new int[]{7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};
18 //校验码常数
19 string LastCode=”10X98765432″;
20 //新身份证号
21 string perIDNew;
22
23 perIDNew=perIDSrc.Substring(0,6);
24 //填在第6位及第7位上填上‘1’,‘9’两个数字
25 perIDNew += “19”;
26
27 perIDNew += perIDSrc.Substring(6,9);
28
29 //进行加权求和
30 for( int i=0; i<17; i++)
31 {
32 iS += int.Parse(perIDNew.Substring(i,1)) * iW[i];
33 }
34
35 //取模运算,得到模值
36 int iY = iS%11;
37 //从LastCode中取得以模为索引号的值,加到身份证的最后一位,即为新身份证号。
38 perIDNew += LastCode.Substring(iY,1);
39
40 return perIDNew;
41 }
42
43
44
45
46 Helper methods#region Helper methods
47
48 private static void WL(object text, params object[] args)
49 {
50 Console.WriteLine(text.ToString(), args);
51 }
52
53 private static void RL()
54 {
55 Console.ReadLine();
56 }
57
58 private static void Break()
59 {
60 System.Diagnostics.Debugger.Break();
61 }
62
63 #endregion
64}
http://www.cnblogs.com/goody9807/archive/2006/11/13/559378.html
用c#实现由15位身份证号升级到18位的算法_c#应用
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 用c#实现由15位身份证号升级到18位的算法_c#应用
相关推荐
-      利用c#远程存取access数据库_c#应用
-      c# 3.0新特性系列:隐含类型var_c#教程
-      c#动态生成树型结构的web程序设计_c#应用
-      论c#变得越来越臃肿是不可避免的_c#应用
-      用c#监控并显示cpu状态信息_c#应用
-      c#中实现vb中的createobject方法_c#应用
-      photoshop给花瓶打造彩绘效果_photoshop教程
-      使用c#创建sql server的存储过程_c#应用