• Lua 中 number 转换各种进制,以及string串转number


    原文地址:http://blog.csdn.net/david_dai_1108/article/details/71699449

     1 --region : NumConvert.lua
     2 --Date   : 2017-5-11
     3 --Author : david
     4 
     5 -- Bin 2
     6 -- Oct 8
     7 -- Dec 10
     8 -- Hex 16
     9 
    10 local _convertTable = {
    11     [0] = "0",
    12     [1] = "1",
    13     [2] = "2",
    14     [3] = "3",
    15     [4] = "4",
    16     [5] = "5",
    17     [6] = "6",
    18     [7] = "7",
    19     [8] = "8",
    20     [9] = "9",
    21     [10] = "A",
    22     [11] = "B",
    23     [12] = "C",
    24     [13] = "D",
    25     [14] = "E",
    26     [15] = "F",
    27     [16] = "G",
    28 }
    29 
    30 local function GetNumFromChar(char)
    31     for k, v in pairs(_convertTable) do
    32         if v == char then
    33             return k
    34         end
    35     end
    36     return 0
    37 end
    38 
    39 local function Convert(dec, x)
    40 
    41     local function fn(num, t)
    42         if(num < x) then
    43             table.insert(t, num)
    44         else
    45             fn( math.floor(num/x), t)
    46             table.insert(t, num%x)
    47         end
    48     end
    49     
    50     local x_t = {}
    51     fn(dec, x_t, x)
    52 
    53     return x_t
    54 end
    55 
    56 function ConvertDec2X(dec, x)
    57     local x_t = Convert(dec, x)
    58 
    59     local text = ""
    60     for k, v in ipairs(x_t) do
    61         text = text.._convertTable[v]
    62     end
    63     return text
    64 end
    65 
    66 function ConvertStr2Dec(text, x)
    67     local x_t = {}
    68     local len = string.len(text)
    69     local index = len
    70     while ( index > 0) do
    71         local char = string.sub(text, index, index)
    72         x_t[#x_t + 1] = GetNumFromChar(char)
    73         index = index - 1
    74     end
    75 
    76     local num = 0
    77     for k, v in ipairs(x_t) do
    78         num = num + v * math.pow(x, k - 1) 
    79     end
    80     return num
    81 end
    82 
    83 --endregion
  • 相关阅读:
    小记面向对象
    公司分层思想的演化历程
    我对uml类图关系的理解
    cms真实问题的来源以及模拟解决方案
    HTTP 协议基础
    Requests库
    接口测试概念
    Python中的strip()函数的用法
    Robot Framework环境搭建
    Python unittest excel数据驱动
  • 原文地址:https://www.cnblogs.com/AaronBlogs/p/8024519.html
Copyright © 2020-2023  润新知