最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#小程序15位轉(zhuǎn)18位身份證號(hào)代碼

 更新時(shí)間:2013年02月25日 20:42:01   作者:  
現(xiàn)在我們使用的都是18位身份證號(hào),而以前都是15位身份證號(hào),而如何將15位身份證號(hào)轉(zhuǎn)18位身份證號(hào)轉(zhuǎn)換為18位身份證號(hào)呢?

現(xiàn)在我們使用的都是18位身份證號(hào),而以前都是15位身份證號(hào),而如何將15位身份證號(hào)轉(zhuǎn)18位身份證號(hào)轉(zhuǎn)換為18位身份證號(hào)呢?

1、首先,在15位身份證的第6位之后加上“19”變?yōu)?7位,即出生年月的年加上19,比如原來(lái)的92年就變?yōu)?992

2、然后,就是最后一位的計(jì)算,方法如下:

1)將1得到的17位身份證號(hào),每一位乘以相應(yīng)的系數(shù),17位系數(shù)為{ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 }

2)將(1)求得17個(gè)數(shù)相加求和為temp


3)將temp除以11取余,temp%=11;

4)將取余之后的結(jié)果作為尾數(shù)數(shù)組endNum[]的下標(biāo),找出對(duì)于的值endNum[temp],然后將endNum[temp]加到17位身份證之后變?yōu)?8位,

尾數(shù)數(shù)組endNum[]={ '1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2' };

復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IDCard
{
    class Program
    {
        /// <summary>
        /// 主函數(shù)
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            Console.Write("請(qǐng)輸入15位身份證號(hào):");
            string OldID=Console.ReadLine();//輸入15身份證號(hào)
            string newId =IDCardTranslation(OldID);//新身份證號(hào)
            Console.WriteLine("18位新身份證號(hào)為:{0}",newId);//輸出
            Console.ReadLine();
        }
        /// <summary>
        /// 15位身份證號(hào)轉(zhuǎn)18位身份證號(hào)
        /// </summary>
        /// <param name="oldCard">15位身份證號(hào)</param>
        /// <returns>18位身份證號(hào)</returns>
        private static string IDCardTranslation(string oldCard)
        {
            int[] coefficient = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 };//17位身份證號(hào)每一位的系數(shù)
            char[] endNum = { '1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2' };//身份證最后一位數(shù)組
            if (oldCard.Length == 15)//判斷是否是15位
            {
                string newID = oldCard.Insert(6, "19");//在15位身份證號(hào)的第6位之后添加19,變成17位
                int s = 0;
                for (int i = 0; i < 17; i++)//17位號(hào)碼每一位都乘以相應(yīng)的系數(shù)
                {
                    int temp = Convert.ToInt32(newID[i]) * coefficient[i];
                    s += temp;//乘系數(shù)之后求和
                }
                s %= 11;//除以11取余
                newID += endNum[s].ToString();//17位號(hào)碼加上 余數(shù)所代表的下標(biāo)在尾數(shù)數(shù)組endNum中的字符
                return newID;//返回新ID號(hào)碼
            }
            else
            {
                return "";
            }
        }
    }
}

相關(guān)文章

最新評(píng)論

将乐县| 宁河县| 芦山县| 浪卡子县| 政和县| 唐山市| 濮阳县| 宁晋县| 茶陵县| 健康| 开平市| 灵石县| 甘谷县| 寿宁县| 和平县| 平山县| 海伦市| 兴安县| 平遥县| 新余市| 新津县| 麟游县| 长春市| 襄城县| 鄂温| 长治市| 平度市| 湘阴县| 祁阳县| 远安县| 陆丰市| 岳阳县| 电白县| 郁南县| 红原县| 惠东县| 内乡县| 太和县| 晋江市| 康平县| 象山县|