Dim S As String,AS="jdifeuA34dke334"A=Split(S,"A") '區(qū)分大小寫的時候'A=Split(Ubound(S),"A") '不區(qū)分大小寫的時候For i=1 to ubound(A)If Len(A(i))>0 ThenPrint Val(A(i))End IfNextPrivate Sub Command1_Click()Dim S As String, S2 As String, AS = "jdifeuA34dke334"A = Split(S, "A") '區(qū)分大小寫的時候'A=Split(Ubound(S),"A") '不區(qū)分大小寫的時候For i = 0 To UBound(A)If Len(A(i)) > 0 ThenFor j = 1 To Len(A(i))If Mid(A(i), j, 1) >= "0" And Mid(A(i), j, 1) <= "9" ThenS2 = S2 & Mid(A(i), j, 1)ElseExit ForEnd IfNextIf S2 <> "" Then Print Val(S2)S2 = ""End IfNextEnd Sub兩段代碼調試時,第一個的for 循環(huán)是1->2 而A的下標剛好是1->2第二個的for 循環(huán)是0->1 而A的下標剛好是0->1A的下標為什么自動實應了循環(huán)的需求,要1-2時就是1-2,要0-1時是0->1UBound(a) 同一個東西,為什么一會是1,而一會又是2 ??????????????????請,分別調試一下兩段程序for循環(huán)中的i值,以及對應的A(i)的值.就知道了.打出來的東西一樣,循環(huán)的次數(shù)一樣.不一樣的是:第一個A(1)=jdifeu A(2)=34dke334第二個A(0)=jdifeu A(1)=34dke334而A是完全相同的A!
2 回答

慕虎7371278
TA貢獻1802條經(jīng)驗 獲得超4個贊
不明白你說的什么。
A(0)=jdifeu
A(1)=34dke334
都一樣。
第一個判斷的是A(1),
第二個判斷的是A(0)和A(1),但A(0)不含數(shù)字,就沒打印。
另外,第2段代碼Mid(A(i),
j,
1)
>=
"0"
And
Mid(A(i),
j,
1)
<=
"9"
改為IsNumeric(Mid(A(i),
j,
1))更好。第1段沒判斷數(shù)據(jù),就直接轉換了,可能不太好,最起碼要判斷A后面的是不是數(shù)字。
添加回答
舉報
0/150
提交
取消