模块:BaseConvert/doc
这是Module:BaseConvert的文档页面
此页面是Module:BaseConvert的模块文档。 此页面可能包含了模板的使用说明、分类和其他内容。 |
用来把数字转换成2到36之间的任何进位制,可用于{{binary}}、{{octal}}、{{hexadecimal}}等模板当中。
使用方法
local BaseConvert = require('Module:BaseConvert')
BaseConvert.convert({n = 14600926, base = 16}) -- returns 'DECADE'
参数:
- n:(必填)须转换的数字,以字符串形式输入。十进制的数字可直接以数字形式输入。
- base:(必填)目标进位制的底数,可取2至36(含)间的任何数字,不接受不是整数的底数,如进制(若底数输入非整数或范围外[2,36]的数将输出不正确的结果)。若需要转换不是整数的底数可以改用Module:BigNumber提供的convertBase函数。
- from:输入值的进位制的底数,默认为10(如果输入值以“0x”开头,则默认为16),不接受不是整数的底数。所有非十进制都不支持分数,若需要计算非十进制的分数可以改用Module:BigNumber提供的convertBase函数。
- precision:小数点后的位数,达不到时会加“0”。不填该项会显示所有位数,但不超过10位数。
- width:小数点前至少显示的位数,达不到时会加“0”。
- default:n为空或非数字时所输出的值,默认为n的值。
- prefix:加在输出值前的维基代码。n为空或非数字时则不加。例如在转换到十六进制后在前面加上
0x
。 - suffix:加在输出值后的维基代码。n为空或非数字时则不加。例如在转换到八进制后在后面加上
<sub>8</sub>
。
请注意,若输入的数字过大,绝对值超过9007199254740991的话,可能会导致运算精度丢失。若需要转换大数的进制可以改用Module:BigNumber提供的convertBase函数。
从模板调用
从模板调用时,这个模块支持以ntom
(n进制转m进制)的函数名称进行调用,例如:
代码 | 效果 |
---|---|
{{#invoke:BaseConvert|16to10| FF }} |
255 |
{{#invoke:BaseConvert|10to36|500}} |
DW |
{{#invoke:BaseConvert|10to16|Foo|default=0}} |
0 |
这种调用方式除了|base=
、|from=
和|n=
外的所有上列的参数皆可使用。也可以调用convert
达到相同效果。
{{#invoke:BaseConvert|convert|n=要转换的数値|base=底数|...}}
例如:
{{#invoke:BaseConvert|convert|n=14600926|base=16}}
→ DECADE