模组:BaseConvert/doc

这是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=底数|...}}

例如:

参见