请帮忙把一个VB的编号代码转为C#的
If Li >= 10000 Then
BH = Left("CA000", 7 - Len(No(Li - 10000))) & No(Li - 10000)
Else
BH = "C" & Format(Li, "00000")
End If
Function No(i) As String
Dim Yushu As String
js:
Yushu = i Mod 36
If Yushu > 9 Then Yushu = Chr(Yushu - 9 + 64)
No = Yushu & No
i = Int(i / 36)
If i > 0 Then GoTo js
End Function
效果是当Li这个数小于10000时,BH显示为C*****,C 后面跟5位数字
当超过10000时,显示效果为CA****后面顺序为:
CA0000A
CA0000B
...
CA0000Z
CA000A0
CA000A1
...
CA000A9
CA000AA
...
CA000AZ
CA000B0
...
CAZZZZZ --------------------编程问答-------------------- if (Li >= 10000)
BH = "CA000".SubString(No(Li - 10000).Length - 2) + No(Li - 10000);
else
BH = "C" + Li.ToString().PadLeft(5, '0');
string No(int i)
{
string r = string.Empty;
char Yushu = '\0';
do {
Yushu = (char)(i % 36);
if ((int)Yushu > 9) Yushu = (char)((int)Yushu - 9 + 64);
r = Yushu.ToString() + r;
i /= 36;
} while (i <= 0);
return r;
} --------------------编程问答-------------------- 不对呀,在下面的过程进入了死循环 --------------------编程问答--------------------
补充:.NET技术 , C#