设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3187|回复: 5
打印 上一主题 下一主题

[模块/函数] 【Access小品】十进制与n进制相互换算

[复制链接]
跳转到指定楼层
1#
发表于 2010-8-7 20:44:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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

评分

参与人数 2经验 +20 收起 理由
renyucai1963 + 10 很给力!
5988143 + 10 精品文章

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2010-8-7 22:08:05 | 只看该作者
谢谢分享!!

点击这里给我发消息

3#
发表于 2010-8-8 09:42:17 | 只看该作者
谢谢分享.
4#
发表于 2010-8-8 15:08:21 | 只看该作者
好作品当然要收藏
5#
发表于 2010-8-8 16:24:30 | 只看该作者
谢谢分享
已经收藏了
6#
发表于 2010-8-22 15:26:12 | 只看该作者
好作品当然要收藏
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-1-8 10:54 , Processed in 0.154859 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表