2012-08-14 65 views
0

用户输入完整的第一个卡号和最后一个完整号码,所以我需要从第一个卡号到最后一个卡号。然后处理每个卡号。将数字添加到长号码(长度超过13位数)

我做的是我分开第一个数字,然后使用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”,“我”从1开始没有0001

+0

你能发表一些发生什么样的数据的例子吗? – 2012-08-14 17:07:42

+0

我添加了一个样本卡号。 – Ezi 2012-08-14 17:27:45

回答

1

尝试这样的事情?

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

不,这不起作用。 – Ezi 2012-08-14 17:26:15

+0

或i.ToString(“0000”) – 2012-08-14 17:30:01

+1

它给你什么样的行为?你期望它给予什么?如果这不起作用,我不知道我明白这个问题... – Blueberry 2012-08-14 17:30:14

相关问题