投稿日 | : 2004/12/04(Sat) 02:26 |
投稿者 | : しゅう |
Eメール | : |
URL | : |
タイトル | : Re: 英数字混合の計算方法 |
提示されている式は下記で確認しました。
細かな例外処理は考慮していません。
'入力式
A = "19Z+1"
B = Len(A)
'計算
For i = B To 1 Step -1
C = Mid(A, i, 1)
If C = "+" Then
D = 0
E = False
Else
E = True
F = Asc(C)
If 48 <= F And F <= 57 Then
G = F - 48
Else
'小文字入力対応
If 65 <= F And F <= 90 Then
G = F - 55
Else
If 97 <= F And F <= 122 Then
G = F - 87
End If
End If
End If
End If
If E Then
H = H + G * 36 ^ D
D = D + 1
End If
Next
'出力(4桁)
For i = 0 To 3
Y = H Mod 36
If 0 <= Y And Y <= 9 Then
Z = Chr(Y + 48) + Z
Else
Z = Chr(Y + 55) + Z
End If
H = H \ 36
Next
MsgBox Z