易语言 我要找十六转十进制的模块(是模块~!!)

十六进制转十进制的,谁帮我一下

第1个回答  2013-10-28
我这有,给你吧<br> <br> .版本 2<br> .支持库 eCalc<br> <br>.子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码<br> <br>_临时子程序 () ' 在模块初始化代码执行完毕后调用模块测试代码<br> 返回 (0)<br> <br>.子程序 _临时子程序<br> <br>' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的参数及返回值类型。<br> <br>.子程序 模块_进制转换, 文本型, 公开, 可以将从二进制到三十六进制的数值随意进行转换,不可以转换负数以及小数。<br> .参数 被转换文本, 文本型<br> .参数 被转换进制, 整数型<br> .参数 转换的进制, 整数型<br> .局部变量 欲转换文本, 文本型, , , 输入的文本串<br> .局部变量 临时文本, 文本型, , , 存放从输入的文本串中取出的一个文本<br> .局部变量 临时数值, 长整数型<br> .局部变量 计次变量1, 整数型<br> .局部变量 计次变量2, 整数型<br> .局部变量 次方数, 大数, , , 每一位数字对应的10的次方数<br> .局部变量 转换的进制大数1, 大数, , , 要转换的进制-1<br> .局部变量 转换的进制大数, 大数, , , 要转换的进制<br> .局部变量 被转换进制大数, 大数, , , 被转换的进制<br> .局部变量 临时大数, 大数, , , 将被转换数字转换成的大数<br> .局部变量 余数大数, 大数, , , 存放求出的余数大数<br> .局部变量 数值1大数, 大数, , , 只存放1<br> .局部变量 临时大数1, 大数, , , 将被转换数字的每一位转换成的大数<br> <br>.如果真 (被转换进制 < 2 或 转换的进制 < 2 或 被转换进制 > 36 或 转换的进制 > 36) ' 判断两个“进制系数”是否正确<br> <br>返回 (“参数错误-进制只能在2-36之间”)<br> .如果真结束<br> 被转换文本 = 到大写 (到半角 (被转换文本)) ' 规范参数<br> .变量循环首 (1, 取文本长度 (被转换文本), 1, 计次变量1) ' 判断输入的数字文本是否有效<br> <br>临时文本 = 取文本中间 (被转换文本, 计次变量1, 1)<br> <br>.如果真 (寻找文本 (取文本左边 (“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”, 被转换进制), 临时文本, , 假) = -1)<br> <br> 临时文本 = “参数错误-” + 被转换文本 + “不是一个有效的” + 取文本左边 (数值到金额 (被转换进制, 真), 取文本长度 (数值到金额 (被转换进制, 真)) - 4) + “进制数!”<br> <br> 跳出循环 ()<br> <br>.如果真结束<br> <br>' 全部查找完毕<br> <br>.如果真 (计次变量1 = 取文本长度 (被转换文本))<br> <br> 临时文本 = “”<br> <br>.如果真结束<br> <br>.变量循环尾 ()<br> <br>' 如果临时文本不为空,说明此数字文本无效!<br> .如果真 (临时文本 ≠ “”)<br> <br>返回 (临时文本)<br> .如果真结束<br> ' 以上为数据正确性校验处理代码<br> <br>.如果真 (被转换进制 = 转换的进制) ' 相同时,不用进行转换<br> <br>返回 (被转换文本)<br> .如果真结束<br> <br>.变量循环首 (1, 取文本长度 (被转换文本), 1, 计次变量1) ' 先将要转换的数字放入大数中<br> <br>次方数.导入数字 (1) ' 数值1不能直接和大数类型计算,所以先放入一个大数中<br> <br>被转换进制大数.导入数字 (被转换进制)<br> <br>.计次循环首 (取文本长度 (被转换文本) - 计次变量1, 计次变量2) ' 求次方<br> <br> 次方数 = 次方数.乘 (被转换进制大数)<br> <br>.计次循环尾 ()<br> <br> 临时大数1.导入数字 (寻找文本 (“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”, 取文本中间 (被转换文本, 计次变量1, 1), , 真) - 1)<br> <br>临时大数1 = 临时大数1.乘 (次方数)<br> <br>临时大数 = 临时大数1.加 (临时大数) ' 临时大数即为最后转换成的大数<br> .变量循环尾 ()<br> 转换的进制大数1.导入数字 (转换的进制 - 1)<br> 转换的进制大数.导入数字 (转换的进制)<br> 数值1大数.导入数字 (1) ' 数值1不能直接和大数类型计算,所以先放入一个大数中<br> .判断循环首 (临时大数.大于 (转换的进制大数1) = 真) ' 开始进制转换,除进制数取余数<br> <br>余数大数 = 临时大数.求余 (转换的进制大数) ' 求出的余数<br> <br>临时大数1 = 余数大数.加 (数值1大数) ' 求出的余数+1<br> <br>临时数值 = 到数值 (临时大数1.导出文本 ()) ' 最后的余数<br> <br>欲转换文本 = 取文本中间 (“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”, 临时数值, 1) + 欲转换文本 ' 找出每一个余数对应的数字<br> <br>临时大数 = 临时大数.除 (转换的进制大数, 10) ' 取出剩余的数字<br> <br>临时大数 = 临时大数.取整数 ()<br> .判断循环尾 ()<br> 临时数值 = 临时大数.导出整数 () ' 最后剩下的余数<br> 欲转换文本 = 取文本中间 (“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”, 临时数值 + 1, 1) + 欲转换文本 ' 整数转换结束<br> 返回 (欲转换文本)<br> <br> <br> 新建一个易模块程序,把上面的代码复制进去,编译了就可以了。
相似回答