using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace OrganizationCode
{
class Program
{
public static void Main(string[] args)
{
string y_bm = "";
//y_bm = "71774346-9";
//y_bm = "73767624-0";
//y_bm = "74549579-X";
y_bm = "74610229-x";
Console.WriteLine(y_bm);
string bm = Code9(y_bm);
Console.WriteLine(bm); }
//组织机构代码校验码(验证程序)
//组织机构代码71774346-9,73767624-0
//规定本体代码PDY00001至PDY99999为自定义区,供各系统编制内部组织机构代码使用。
//自定义区内编制的组织机构代码不作为个系统之间信息交换的依据
//组织机构代码管理办法 编制规则
//校验码按照以下公式计算:
/*C9=11-MOD(∑Ci(i=1→8)×Wi,11)
式中: MOD——代表求余函数;
i——代表代码字符从左至右位置序号;
Ci——代表第i位上的代码字符的值(具体代码字符见附表);
C9——代表校验码;
Wi——代表第i位上的加权因子,其数值见下表:
i=1,2,3,4,5,6,7,8
Wi=3,7,9,10,5,8,4,2
当C9的值为10时,校验码应用大写的拉丁字母X表示;当C9的值为11时校验码用0表示。
*/
//代码字符机器处理字符数值
// 0 0 1 1 9 9 A 10 B 11 Z 35
public static string Code9(string str_in)
{
string rbc = "";
//W权位
int[] wArray = new int[] { , , , , , , , };
string str_in_U = str_in.ToUpper();
char c;
int zz = , z = ;
for (int i = ; i <= ; i++)
{
c = char.Parse(str_in.Substring(i, ));
if (c >= 'A' && c <= 'Z') //A-Z字符
{
z = ((int)c - ) * wArray[i];
}
else if (c >= '' && c <= '') //0-9字符
{
z = int.Parse(c.ToString()) * wArray[i];
}
else
{
rbc = "Err不能输入其他字符错误码";
return rbc;
}
zz += z;
}
string C9 = "";
int jav = - (zz % );
if (jav == )
{
C9 = "X";
}
else if (jav == )
{
C9 = "";
}
else
{
C9 = jav.ToString().Trim(); //删除文本前导空格
}
rbc = str_in.Substring(, ) + "-" + C9;//全国组织机构代码8位本体位加一个校验位
return rbc;
}
}
}

组织机构代码校验码生成算法(C#版)的更多相关文章

  1. java实现二维码生成的几个方法

    1: 使用SwetakeQRCode在Java项目中生成二维码 http://swetake.com/qr/ 下载地址 或着http://sourceforge.jp/projects/qrcode/ ...

  2. 如何做系列(4)-微博URL短网址生成算法原理(java版、php版实现实例)

    短网址(Short URL),顾名思义就是在形式上比较短的网址.通常用的是asp或者php转向,在Web 2.0的今天,不得不说,这是一个潮流.目前已经有许多类似服务,借助短网址您可以用简短的网址替代 ...

  3. 二维码生成delphi版

    二维码生成delphi版 生成二维码的软件,代码从C语言转换过来(源地址:http://fukuchi.org/works/qrencode/),断断续续的差不多花了一周时间来转换和调试.在转换过程中 ...

  4. PHP用抛物线的模型实现微信红包生成算法的程序源码

    <?php /* *Author:Kermit *Time:2015-8-26 *Note:红包生成随机算法 */ header("Content-type:text/html;cha ...

  5. PHP微信红包生成算法的程序源码(用抛物线的模型实现)

    代码如下: <?php /* * 红包生成随机算法 */ header("Content-type:text/html;charset=utf-8"); date_defau ...

  6. java 二维码生成(可带图片)springboot版

    本文(2019年6月29日 飞快的蜗牛博客) 有时候,男人和女人是两个完全不同的世界,男人的玩笑和女人的玩笑也完全是两码事,爱的人完全不了解你,你也不要指望一个女人了解你,所以男的不是要求别人怎么样, ...

  7. 理解分布式id生成算法SnowFlake

    理解分布式id生成算法SnowFlake https://segmentfault.com/a/1190000011282426#articleHeader2 分布式id生成算法的有很多种,Twitt ...

  8. 美团技术分享:深度解密美团的分布式ID生成算法

    本文来自美团技术团队“照东”的分享,原题<Leaf——美团点评分布式ID生成系统>,收录时有勘误.修订并重新排版,感谢原作者的分享. 1.引言 鉴于IM系统中聊天消息ID生成算法和生成策略 ...

  9. [开源]C#二维码生成解析工具,可添加自定义Logo

    二维码又称 QR Code,QR 全称 Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的 Bar Code 条形码能存更多的信息,也能表示更多的数据类型:比如:字 ...

随机推荐

  1. Struts2中jsp前台传值到action后台的三种方式以及valueStack的使用

    struts2中的Action接收表单传递过来的参数有3种方法: 如,登陆表单login.jsp: <form action="login" method="pos ...

  2. MySQL常用shell语句

    1.连接数据库 格式:mysql -h ip -P port -u user -p 2.修改某一列的值 格式:update tablename set column1 = 'xxx', column2 ...

  3. 什么是Apache ZooKeeper?

    Apache ZooKeeper是由集群(节点组)使用的一种服务,用于在自身之间协调,并通过稳健的同步技术维护共享数据.ZooKeeper本身是一个分布式应用程序,为写入分布式应用程序提供服务. Zo ...

  4. par函数bty参数-控制绘图边框

    bty 可以看作box type 的缩写,控制绘图边框的显示,取值范围为o, l, u, c, ], n 默认值为"o", 代码示例: par(bty = "o" ...

  5. 第一个OC程序

    第一个OC程序源码如下: #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @auto ...

  6. 【Java面试题】54 去掉一个Vector集合中重复的元素

    在Java中去掉一个 Vector 集合中重复的元素 1)通过Vector.contains()方法判断是否包含该元素,如果没有包含就添加到新的集合当中,适用于数据较小的情况下. import jav ...

  7. glsl 多重纹理

    #include"glsl.h" void SHADER::drawBox() { glBegin(GL_QUADS); // Front Face glNormal3f( 0.0 ...

  8. 解决导入protobuf源代码Unity报错的问题

    将源代码导入Assets目录后, unity引擎会出现以下报错: 解决办法: 在 unity项目Assets目录中创建smcs.rsp文件,内容为-unsafe,其作用为可编译不安全代码.     然 ...

  9. error:2014 Commands out of sync; you can't run this command now

    如下错误: 分析原因: 前端ajax请求后台,共用同一个链接. 搜索别人的解决方案:http://blog.csdn.net/grass_ring/article/details/3499402 用m ...

  10. SPP-Net

    R-CNN -> SPP-Net -> Fast-RCNN