ACCESS 如何进行二进制到六十二进制向十进制的转换?
来源:互联网 发布:计算机二级模拟软件 编辑:程序博客网 时间:2024/04/28 06:56
新手来看:如何进行二进制到六十二进制向十进制的转换?
专题地址:
http://access911.net/?kbid;71FAB61E13DCE8F3
简述:
新手来看:如何进行二进制到六十二进制向十进制的转换?《函数》
阅读前需掌握:
熟练掌握 VBA 编程
难度等级:
70
问题:
新手来看:如何进行二进制到六十二进制向十进制的转换?《函数》
如何进行2进制到62进制的转换?
10进制转16进制用 HEX 函数,那么倒过来哪?
十六进制转十进制用什么函数?
回答:
不需要函数,请参考以下代码:
Dim x As Double
x = "&H" & "a1"
Debug.Print x
可以用以下函数:
Dim a As Double
Dim b As String
Dim c As Double
Dim l As Integer
Dim i As Long
l = Len(strA)
For i = 1 To l
b = Mid(strA, i, 1)
Select Case b
Case "A"
b = 10
Case "B"
b = 11
Case "C"
b = 12
Case "D"
b = 13
Case "E"
b = 14
Case "F"
b = 15
End Select
c = c + b * 16 ^ (l - 1)
l = l - 1
Next
C16To10 = c
Debug.Print C16To10
End Function
编写了一个扩展函数,可以扩展到整个字符集
Debug.Print N10toC62(576, 35)
Debug.Print C62ToN10("gg", 35)
End Function
Function C62ToN10(ByVal strA As String, Optional ByVal bt As Byte) As Double
'本函数用于将 2 8 16 36 62 进制字符串转换为 10 进制数值
'请注意,本函数的输入参数是区分大小写的,36进制以及以下,应该全部转换为大写
'下列进制,如果有必要,可以扩展到整个字符集,
'也就是你只要输入一个字符,就可以代表上万位
If bt < 2 Or bt > 62 Then
bt = 16
'默认为 16 进制
End If
'2进制 0-1
'8进制 0-7 可以用 clng("&O71") 代替
'16进制 0-9 A-F 可以用 clng("&Hf1") 代替
'36进制 0-9 A-Z
'62进制 0-9 A-Z a-z
'都不对,就用16进制,如果输入数据不符合要求,则出错
If bt <= 36 Then
strA = UCase(strA)
'小于等于 36 进值时应该全部转换为大写
End If
Dim b As Long
Dim b1 As String
Dim c As Double
Dim l As Integer
Dim i As Integer
l = Len(strA)
For i = 1 To l
b1 = Mid(strA, i, 1)
Select Case Asc(b1)
Case 48 To 57
b = CLng(b1)
Case 65 To 90
b = Asc(b1) - 55
Case 97 To 122
b = Asc(b1) - 61
End Select
c = c + b * bt ^ (l - 1)
l = l - 1
Next
C62ToN10 = c
End Function
Function N10toC62(ByVal b As Long, Optional ByVal bt As Byte) As String
'以下函数将10进制数值根据要求转换为
'2 8 16 36 62 进制字符串
'请注意,本函数的输出结果是区分大小写的
If bt < 2 Or bt > 62 Then
bt = 16
'默认为 16 进制
End If
'2进制 0-1
'8进制 0-7 可以用 OCT 函数代替
'16进制 0-9 A-F 可以用 HEX 函数代替
'36进制 0-9 A-Z
'62进制 0-9 A-Z a-z
'都不对,就用16进制,如果输入数据不符合要求,则出错
Dim a As Long
Dim a1 As String
Dim s As String
Do Until b = 0
a = b Mod bt
Select Case a
Case 0 To 9
a1 = CStr(a)
Case 10 To 35
a1 = Chr(a + 55)
Case 36 To 61
a1 = Chr(a + 61)
End Select
s = a1 & s
b = b / bt
Loop
N10toC62 = s
End Function
- ACCESS 如何进行二进制到六十二进制向十进制的转换?
- 二进制向十进制转换
- 二进制到十进制的转换
- 十进制到二进制的转换
- 十进制到二进制转换
- 十进制数到二进制数据的转换
- 十进制,二进制的转换
- 汇编--十进制到二进制转换
- 二进制浮点数向十进制浮点数的转换
- 二进制,八进制,十六进制向十进制转换(一)
- 二进制,八进制,十六进制向十进制转换(二)
- 快速实现十进制向二进制转换
- C/C++实现十进制向二进制转换
- 十进制向二进制,八进制,十六进制随意转换
- 十进制、二进制之间的转换
- 二进制与十进制的转换
- 二进制和十进制的转换
- 二进制与十进制的转换
- ACCESS中如何实现行列的转换?有关交叉表的应用
- 如何在 ACCESS 中插入用户窗体?
- 《财富》推荐的75本必读书
- Access支持三表或三表以上的join操作吗?
- access 中如何使本机时间与服务器时间同步?
- ACCESS 如何进行二进制到六十二进制向十进制的转换?
- ACCESS中关于月结存年结存功能的设计原理
- ACCESS新手来看:如何设计表结构便于treeview显示?
- jbuilder2005 to jbuilder2006
- 走
- 再别锦里
- 第二书店和当当联盟,66城市货到付款
- 学习之笔记,好文之收集
- “winjava.exe”病毒的一种解决办法