本文实现了Lua 中 number 转换各种进制,以及各种进制 string 串转 number。
实现思路:
1. 实现一个 table:_convertTable, 存下数字和字符串之间的对应关系
2. 不同进制之间的转换:
- 二进制:采用0和1表示,满二进一
- 八进制:采用0~7这八个数表示,满八进一
- 十进制:采用0~9这10个数表示,满十进一
- 十六进制:用16个阿拉伯数字表示,但我们只有0~9这十个数字,所以我们用A、B、C、D、E、F这五个数字表示10、11、12、13、14、15,字母不区分大小写,满十六进一
测试案例:
实现代码地址:https://github.com/MagicDavid20/LuaProj/blob/master/DOD/src/app/arithmetic/NumConvert.lua
测试代码如下:
function Test:numConvert()
require("app.arithmetic.NumConvert")