|
发表于 2018-11-19 13:32:31
|
显示全部楼层
宁夏回族自治区银川市
.版本 2
.子程序 十到十六, 文本型, 公开, 将十进制转换成十六进制(返回十六进制文本)
.参数 十进制长整数, 长整数型, , 不支持无符号长整数型,易BUG,超过15位长整数型,不能直接使用,必须 用 到长整数()转换
.参数 是否在前端补零, 逻辑型, 可空, 如果为真,则自动在前面补0,补足位数。如果为假,则不补零;默认为假
.局部变量 结果, 文本型
结果 = 取空白文本 (255)
wvsprintfA (结果, “%X”, 十进制长整数)
.如果真 (是否在前端补零)
返回 (取重复文本 (8 - 取文本长度 (结果), “0”) + 结果)
.如果真结束
返回 (结果)
.版本 2
.子程序 十六到十, 整数型, 公开, 将十六进制转换成十进制(返回十进制文本)
.参数 十六进制文本, 文本型, , 待转换的十六进制文本
.参数 返回结果, 文本型, 参考 可空, 返回文本结果(如十进制数超出整数范围,可通过返回结果获得十进制文本)
.局部变量 中间文本, 文本型
.局部变量 结果, 长整数型
.局部变量 容器1, 整数型
返回结果 = “”
十六进制文本 = 到大写 (十六进制文本)
十六进制文本 = 子文本替换 (十六进制文本, “0X”, , , , 真)
.变量循环首 (1, 取文本长度 (十六进制文本), 1, 容器1)
中间文本 = 取文本中间 (十六进制文本, 容器1, 1)
结果 = 到长整数 ((寻找文本 (“0123456789ABCDEF”, 中间文本, , 真) - 1) × 求次方 (16, 取文本长度 (十六进制文本) - 容器1) + 结果)
.变量循环尾 ()
.如果真 (是否为空 (返回结果) = 假)
返回结果 = 到文本 (结果)
.如果真结束
返回 (结果)
一直在用的 从来没有过什么问题 |
|