下面程序是把给定的16进制正整数转换为10进制数。 以下是引用片段:
! G- V% P! g( W# O& i4 h2 J# x4 O Option Explicit ) h6 C0 f) \/ E ~! j; \
Private Sub Form_Click() * {1 k. G6 n. _3 U W
Dim St As Integer, Dem As Long - B9 e) w5 T% u% p' p
St=InputBox("输入一个十六进制数")
0 K( ]/ m/ }7 \7 d/ @- @ Dem=Convert(St) ( Y* v# N" }3 J% f% C
Print St; ">="; Dem
; ?. m C9 v: M$ I$ C9 Z- Y End Sub W! k! k) ?% h0 `
Private Function Convert(S As String)As Long & v% A/ X$ u! C
Dim N As Integer, I As Integer,Substring As String*1
0 t& G8 x5 }: {& j Dim P As long, K As Long,Asc1 As Integer
7 ? ?0 q9 i' {4 [( s. A8 m N= (1)
- [ N& f' R9 A2 \( X0 N6 y0 S' l P=16^N 7 A d+ F6 i+ m. D. E% `" J
For I=1 To N 7 E0 k, v7 x* G3 n, d5 h+ J$ [% U! v
P=P/16 & G. I0 e. U) F) D
Substring= (2) " y" V$ l$ T W, s; C
Select Case Substring . ]0 i9 U6 S. A- o& V1 u
Case "0" To "9"
2 W9 B5 o' K, \) [" B& E0 M G K=K+P*Val(Substring)
) N. Y }5 e# |3 ]: [1 [ Case (3)
* C) }6 n Q/ p: i% ]; N9 { Asc1=Asc(Substring)-Asc("A")+10 / j8 U b0 k% ^+ j. C
(4)
. F: Y" Q. `/ H' D End Select 1 Z* Z3 K9 H! G! K+ V
Next I |