TC官方合作论坛

标题: 十六进制转十进制 自定义函数 [打印本页]

作者: venski    时间: 2013-7-16 21:20
标题: 十六进制转十进制 自定义函数
//不喜勿喷!请提建议修改!
//二楼的告诉我,TC有进制转换的方法
// 辅助.消息框(类型.转整型("3E8", 1))  //结果输出 1000 ,这样就是16进制转10进制
//代码留着给大家进制转换的参考
//后面附 求次方的原理。一个数的N次方,就是这个数自我相乘N次,任何数的0次方结果为1
功能 十六进制转十进制(输入值)
    变量 输出值=""
    变量 索引值=1
    变量 累加值=0
    变量 转换大写=字符串.转大写(输入值)
    循环(索引值<字符串.长度(转换大写))
        取一个字符=字符串.截取(转换大写,字符串.长度(转换大写)-索引值,字符串.长度(转换大写)-索引值+1)  //从个位开始取字符 已修改
        变量 对应十进制数字
        选择(取一个字符)
            条件 "0":
            对应十进制数字=0
            条件 "1":
            对应十进制数字=1
            条件 "2":
            对应十进制数字=2
            条件 "3":
            对应十进制数字=3
            条件 "4":
            对应十进制数字=4
            条件 "5":
            对应十进制数字=5
            条件 "6":
            对应十进制数字=6
            条件 "7":
            对应十进制数字=7
            条件 "8":
            对应十进制数字=8
            条件 "9":
            对应十进制数字=9
            条件 "A":
            对应十进制数字=10
            条件 "B":
            对应十进制数字=11
            条件 "C":
            对应十进制数字=12
            条件 "D":
            对应十进制数字=13
            条件 "E":
            对应十进制数字=14
            条件 "F":
            对应十进制数字=15
        选择结束
        累加值 = 累加值 + 自定义空间.求次方(16,(索引值 - 1)) * 对应十进制数字 //这里红色字自定义空间改成你自己的空间名称  
        索引值=索引值+1
    循环结束
    输出值=类型.转字符型(累加值)
    返回 输出值
功能结束
功能 求次方(原值,几次方)
    //这里原值,无法判断是否为浮点型,太坑了
    变量 累乘值
    如果(类型.是否为整型(几次方,0)==true)
        如果(几次方==0)  //任何数的0次方都为1 已修改
            累乘值=1
        否则
            累乘值=原值
        如果结束
        变量 计算几次=几次方-1
        循环(计算几次>0)
            累乘值*=原值
            计算几次=计算几次-1
        循环结束
    如果结束
    返回 累乘值
功能结束




作者: jimye0526    时间: 2013-7-16 21:51
我会说 你白忙活了 其实是有16进制转10进制的
辅助.消息框(类型.转整型("100", 1))  //这样就是16进制转10进制了
作者: venski    时间: 2013-7-16 22:00
谢谢,确实不知道,这教程不够详细的!!走弯路了,希望大神们,能细心一点把教程做详细了




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1