下面,我給出一段代碼。里面具有完整的注釋。
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。如果以后遇到要自己追加單據號碼的話。這一段代碼應該可能實現你的要求了吧?'
新聞熱點
疑難解答