下面,我给出一段代码。里面具有完整的注释。
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。如果以后遇到要自己追加单据号码的话。这一段代码应该可能实现你的要求了吧?'
新闻热点
疑难解答