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」は 0001 ではなく 1 で始まります。

4

1 に答える 1

1

このようなことを試してみませんか?

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