lua 10进制转换成其它进制table表示


-- params@num integer
-- params@radix integer 进制基数(2~) 默认为10
-- NOTE:先不输出符号
function NumberToArray(num, radix)
    if type(num) ~= "number" and tonumber(num) == nil then
        ERROR("NumberToArray", "params is not a number : ",num);
        return {0};
    end

    num = math.abs(tonumber(num));if num == 0 then
        INFO("tl.NumberToArray", "params 0 ");
        return {0};
    end

    radix = math.abs(tonumber(radix) or 10);
    if radix <= 1 then
        ERROR("tl.NumberToArray", "radix is error : ",num);
        return {0};
    end

    local retArray = {};
    while num ~= 0 do
        table.insert(retArray, 1, math.mod(num, radix));
        num = math.floor(num/radix);
    end

return retArray; end

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM