模块:BaseConvert
1.38>牛腩面2022年7月7日 (四) 20:39的版本 (导入1个版本)
本页面之全部或部分原来自萌娘百科的模块:BaseConvert,依 CC BY-NC-SA 3.0 CN 授权引入;原贡献者可以在这里看到。 |
10进制转16进制
{{#invoke:BaseConvert|convert10_16|x=|digit=}}
16进制转10进制
{{#invoke:BaseConvert|convert16_10|x=|digit=}}
x: 要转换的数字。
digit: 转换后的位数,不足的用0补足,可以省略。
例子:
{{#invoke:BaseConvert|convert10_16|x=200|digit=3}}
0C8{{#invoke:BaseConvert|convert16_10|x=10|digit=3}}
016
local p = {}
function p.convert10_16(frame)
local args = (frame == mw.getCurrentFrame() and frame.args) or frame
local strfmt = "%0" .. (args.digit or 0) .. "X"
return string.format(strfmt, tonumber(args.x))
end
function p.convert16_10(frame)
local args = (frame == mw.getCurrentFrame() and frame.args) or frame
local strfmt = "%0" .. (args.digit or 0) .. "d"
return string.format(strfmt, tonumber("0x" .. args.x))
end
return p