|
本帖最后由 todaynew 于 2010-8-7 20:52 编辑
Access开发者版友laiting同志提出了一个十进制换算13进制的函数解法问题。
有一个与此问题类似的问题:控件的背景色或字体色可以用两种数据描述,一种是用10进制数据描述,一种是用RGB函数描述。我在《山寨颜色调整器》一文中对此进行研究了,发现RGB函数为256进制数据,并写了一个十进制颜色数据转换为RGB三个参数的函数。
今天在进一步研究的基础上,找出了一个十进制与n进制之间相互转换的处理方法,并进一步简化了其中的函数。
Function GetRatio(MyVal As Long, n As Long, m As Long) As Variant
'功能:十进制换算n进制
'参数:MyVal--十进制整数;n--n进制;m--n进制位数
Dim A()
Dim i As Long
ReDim A(0 To m - 1)
If MyVal >= 0 And MyVal <= n ^ m - 1 Then
For i = 0 To UBound(A, 1)
A(i) = Int(MyVal / (n ^ (UBound(A, 1) - i)))
MyVal = MyVal Mod n ^ (UBound(A, 1) - i)
Next
Else
MsgBox "取值范围错误!"
End If
GetRatio = A
End Function
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|