2012-08-14 60 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