码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-12-11 20:02:42      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:art   pairs   number   detail   tail   floor   local   mat   rom   

原文地址: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

 

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

标签:art   pairs   number   detail   tail   floor   local   mat   rom   

原文地址:http://www.cnblogs.com/AaronBlogs/p/8024519.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!