0

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

我所做的是拆分第一个数字,然后使用 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。

4

1 回答 1

1

试试这样的东西?

For i As Integer = StartLast9 To EndLast9
    Row.CardNo = StartFirstNumbers & i.ToString("D5")
Next 
于 2012-08-14T17:21:47.910 回答