如何通过C#实现单据号码的自动增加。

下面,我给出一段代码。里面具有完整的注释。

using System;

namespace BaseLayer
{
 ///
 /// 单据编号,产生自增编号,如:入参为"DJ000002",将返回"DJ000003"
 ///
 public class SheetNumber
 {
  ///
  /// 单据编号,产生自增编号,如:入参为"DJ000002",将返回"DJ000003"
  ///
  /// 原值
  /// 下一值
  public string NextNumber(string BaseNumber)
  {
   string NewNumber = "";//新值
   int InNumber = 1;//进位
   int PlaceValue;//位值
   char[] No = BaseNumber.ToCharArray();
   
   for(int i=BaseNumber.Length-1;i>=0;i--)
   {
    if(No[i]=='9' && InNumber==1)
    {
     InNumber=1;
     NewNumber="0"+NewNumber;
    }
    else
     if(InNumber==1 && No[i]>='0' && No[i]<'9')
    {
     PlaceValue=Int32.Parse(No[i].ToString());
     PlaceValue=(InNumber+PlaceValue);
     InNumber=0;
     NewNumber=PlaceValue.ToString()+NewNumber;
    }
    else
    {
     InNumber=0;
     NewNumber=No[i]+NewNumber;
    }
   }
   if(BaseNumber==NewNumber)
    NewNumber="0000000001";
   return NewNumber;
  }
 }
}

OK。如果以后遇到要自己追加单据号码的话。这一段代码应该可能实现你的要求了吧?^_^

你可能感兴趣的:(C#的其它开发)