码迷,mamicode.com
首页 > 其他好文 > 详细

针对单位的xxx编号累加1的方法

时间:2015-01-15 15:56:05      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

  我们生活中,可能会经常遇到xxx编号,例如员工出差借款可能有借款编号,签订合同会有合同编号,项目入库会有项目编号等,这些编号一般来说是有一些英文单词跟数字组成,例如:某个合同编号为:“bj0020150115026”,当我们签订下个合同的时候,编号就为:“bj0020150115026”,原因很简单把最后的数字加1就可以了,由于这个合同编号类型肯定是字符串格式的,而且其中还有非数字"bj"这样的单词,微软没有给我们提供这样的操作符,这时候需要我们人为的处理这个字符串以达到让这个字符加1的效果。

  以这个合同编号为例,我们可以把合同编号拆成两个字符串“bj”、"0020150115026",其中“bj”为常量,可以保留,我只需把后面的数字字符串进行处理即可,我们首先会想到把这个字符串转换成整型数据或者Double数据等可以进行计算的类型,但是我们通过转换"0020150115026"为整型后,变成了20150115026,加上1之后变为20150115027,前面的两个0就没有了,这时候我们需要通过用0来补位。到底要补几个0呢,字符串处理之前“0020150115026”的长度为13,经过转换整型再加1后的字符串长度为11,用之前的字符串长度减去处理后的字符串长度结果等于2,这时候我们需要补两个0即可,

代码如下:

private static string GetNewCode(string code)
{
    if (string.IsNullOrEmpty(code))
        return "";
    string newCode = Funlayer.Transform.Str(Funlayer.Transform.Int(code) + 1);
    int len = newCode.Length;
    string Num = "bj";
    if (len < code.Length)
    {
        for (int i = 0; i < code.Length - len; i++)
        {
            Num += "0";
        }
    }
    return Num + newCode;
}
其中Funlayer为自己写的一个处理数据的公共方法,用微软的.toString()跟Convert.toInt32()也可以,这样我们就把一个字符串处理好了

针对单位的xxx编号累加1的方法

标签:

原文地址:http://www.cnblogs.com/yangsong/p/4226352.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!