将数字添加到一个长数字(长度超过13位)

时间:2012-08-14 17:01:37

标签: .net numbers

用户输入完整的第一个卡号和最后一个完整的号码,因此我需要从第一个到最后一个获得一系列卡号。然后处理每个卡号。

我做的是分割第一个数字,然后使用for循环增加最后几个数字。

问题在于,如果最后5位的第一位数字为0,那么它会被循环忽略,所以我所有的牌都缺少了所有卡号中间的数字......

Dim StartFirstNumbers = StartCard.Substring(0, StartCard.Length - 5)
Dim StartLast9 = StartCard.Substring(StartFirstNumbers.Length, StartCard.Length - StartFirstNumbers.Length)

Dim EndFirstNumbers = EndCard.Substring(0, EndCard.Length - 5)
Dim EndLast9 = EndCard.Substring(EndFirstNumbers.Length, EndCard.Length - EndFirstNumbers.Length)

For i As Integer = StartLast9 To EndLast9
    Row.CardNo = StartFirstNumbers & i
Next 

我可以检查该数字并相应地处理它,但我觉得有更好的方法。

例如:如果卡号为98300100001,则最后一个数字为“0001”,“i”以1而不是0001开头。

1 个答案:

答案 0 :(得分:1)

尝试这样的事情?

For i As Integer = StartLast9 To EndLast9
    Row.CardNo = StartFirstNumbers & i.ToString("D5")
Next