网站首页 > 资源文章 正文
以下函数可以用于VB6,也可以用在VBA当中!
'''' 将十进制数值转换为表示二十六进制、三十六进制的字符串;
'''' 十进制的数字字符不要超过9位数,否则,会出现溢出错误。如果是分段转换、分段还原的话,可以处理27位的长数字串!
'''' xN = 26、36
Public Function Dec10_To_TSB_xN(NumX As Variant, xN As Long) As String
Dim An As Variant, B As Variant, C(36) As String, i As Long
Dim j As Long, Jx As Variant
Dim conStrList As Variant
On Error GoTo xMyError:
'各进制的数字字母序列字符串
Select Case xN
Case Is = 26
conStrList = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Case Is = 36
conStrList = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
End Select
'转换
B = NumX
Do While B > 0 '如果 B 等于 0 ,那么,就结束循环。
An = Val(B Mod xN) '求余数
If An = 0 Then An = xN
C(i) = Mid(conStrList, An, 1) '转为以数字字母(0-9 A-Z)表示的字符。
i = Val(i) + 1
B = (B - An) / xN ' 减去余数,看大小,再计算。
Loop
'给出字符串函数结果
For Each Jx In C
Dec10_To_TSB_xN = Dec10_To_TSB_xN & C(j) '并列字符串
j = Val(j) + 1
Next Jx
Dec10_To_TSB_xN = StrReverse(Trim(Dec10_To_TSB_xN)) '字符串反序后输出结果 ZSJZCY(26) = 317791759(10)
xMyError:
If Err Or Dec10_To_TSB_xN = "" Then
MsgBox Err.Description & Err.Number & vbCrLf & "数字字符串不要超过9位数!" & vbCrLf & " 勾选超过9位数分段显示。", vbCritical, "错误提示"
End If
End Function
- 上一篇: VB之生成随机数(vb程序随机生成数)
- 下一篇: VB6多线程执行Get请求(基于Curl库)
猜你喜欢
- 2024-11-11 VBA|过程或方法内部的直接或间接调用与相对怪异的语法格式
- 2024-11-11 VB6多线程执行Post请求(基于Curl库)
- 2024-11-11 Windows安装PHP8+Apache+JIT(即时编译)
- 2024-11-11 VB6多线程执行Get请求(基于Curl库)
- 2024-11-11 VB之生成随机数(vb程序随机生成数)
- 2024-11-11 计算机二级VB复习重点十四篇,9月份还有小伙伴考VB吗,需要就拿去吧
- 2024-11-11 关于VB的小记录(关于vb的常见问题)
- 2024-11-11 VB6 日期相关函数(vbscript 日期函数)
- 2024-11-11 使用OpenCV库操作摄像头拍照、调节参数和视频录制
- 2024-11-11 VB绘制实时曲线(vb绘制函数图像)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)