组织机构代码生成算法(c#实现)
2012-04-12 17:19
627 查看
1.全国组织机构代码由八位数字(或大写拉丁字母)本体代码和一位数字(或大写拉丁字母)校验码组成。
本体代码采用系列(即分区段)顺序编码方法。
校验码按照以下公式计算:
C9=11-MOD(∑Ci(i=1→8)×Wi,11)
式中: MOD——代表求余函数;
i——代表代码字符从左至右位置序号;
Ci——代表第i位上的代码字符的值(具体代码字符见附表);
C9——代表校验码;
Wi——代表第i位上的加权因子,其数值见下表:
当C9的值为10时,校验码应用大写的拉丁字母X表示;当C9的值为11时校验码用0表示。
其中生成第九位的
string C9 = "";
// C9=11-MOD(∑Ci(i=1→8)×Wi,11)
// Dim w(8) As Integer 'W权位 w(1) = 3 w(2) = 7 w(3) = 9 w(4) = 10 w(5) = 5 w(6) = 8 w(7) = 4 w(8) = 2
int[] right = { 3, 7, 9, 10, 5, 8, 4, 2 };
string num = nbe1.ToUpper();
int total = 0;
int A = AscUtility.Asc("A");
int Z = AscUtility.Asc("Z");
for (int i = 0; i < 8; i++)
{
string c = num.Substring(i, 1);//(Mid(str_in, i, 1))
int z = 0;
int tempC = AscUtility.Asc(c);
if (tempC >= A & tempC <= Z)
{
z = (tempC - 55) * right[i];
}
else if (tempC >= 48 & tempC <= 57)
{
int value = tempC - 48;
z = Convert.ToInt32(value) * right[i];
}
else
{
}
total = total + z;
}
int jav = 11 - (total % 11);
if (jav == 10)
{
C9 = "X";
}
else if (jav == 11)
{
C9 = "0";
}
else
{
C9 = jav.ToString();
//Mid(Str(jav), 2, 1);
}// '删除文
本体代码采用系列(即分区段)顺序编码方法。
校验码按照以下公式计算:
C9=11-MOD(∑Ci(i=1→8)×Wi,11)
式中: MOD——代表求余函数;
i——代表代码字符从左至右位置序号;
Ci——代表第i位上的代码字符的值(具体代码字符见附表);
C9——代表校验码;
Wi——代表第i位上的加权因子,其数值见下表:
当C9的值为10时,校验码应用大写的拉丁字母X表示;当C9的值为11时校验码用0表示。
其中生成第九位的
string C9 = "";
// C9=11-MOD(∑Ci(i=1→8)×Wi,11)
// Dim w(8) As Integer 'W权位 w(1) = 3 w(2) = 7 w(3) = 9 w(4) = 10 w(5) = 5 w(6) = 8 w(7) = 4 w(8) = 2
int[] right = { 3, 7, 9, 10, 5, 8, 4, 2 };
string num = nbe1.ToUpper();
int total = 0;
int A = AscUtility.Asc("A");
int Z = AscUtility.Asc("Z");
for (int i = 0; i < 8; i++)
{
string c = num.Substring(i, 1);//(Mid(str_in, i, 1))
int z = 0;
int tempC = AscUtility.Asc(c);
if (tempC >= A & tempC <= Z)
{
z = (tempC - 55) * right[i];
}
else if (tempC >= 48 & tempC <= 57)
{
int value = tempC - 48;
z = Convert.ToInt32(value) * right[i];
}
else
{
}
total = total + z;
}
int jav = 11 - (total % 11);
if (jav == 10)
{
C9 = "X";
}
else if (jav == 11)
{
C9 = "0";
}
else
{
C9 = jav.ToString();
//Mid(Str(jav), 2, 1);
}// '删除文
相关文章推荐
- 组织机构代码校验码生成算法(C#版)
- YbSoftwareFactory 代码生成插件【十一】:ASP.NET WebApi MVC下组织机构管理和菜单权限管理的实现
- 基于C#代码实现九宫格算法横竖都等于4
- c#调用js,以及js调用C#里的函数, c#自己生成js代码,实现对web的控制
- Kruskal最小生成树算法代码实现(c++)
- ASP.NET C#生成下拉列表树实现代码
- ASPX验证码生成程序(C#代码一个页面实现)
- 实现全国组织机构代码校验
- 用itextsharp实现Pdf生成 (C#代码)
- 最小生成树之克鲁斯卡尔(Kruskal)算法实现,代码详解!!!!
- 算法学习与代码实现1——开始、生成随机数
- 【原创】机器学习之PageRank算法应用与C#实现(2)球队排名应用与C#代码
- 全国组织机构代码校验码生成程序(java版)
- 抢红包的红包生成算法Java实现代码
- [转]20110415-用好C#中的#region指令 实现良好的代码组织
- 一个简单的QQ隐藏图生成算法 通过jQuery和C#分别实现对.NET Core Web Api的访问以及文件上传
- 无向图的最小生成树算法的C程序实现代码(Prim算法)
- 数据结构(C#)--图结构的实现输出以及图结构的深度和广度优先搜索和Dijkstra 算法的最小路径以及最小生成树的实现
- 克鲁斯卡算法 并查集实现最小生成树(伪代码)