记录一些经验

学习,生活

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
 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[]{7910584216379105842};
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   forint 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    #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}
posted on 2008-03-10 20:46  将飞  阅读(356)  评论(0)    收藏  举报