Errors: Bad radix
Errors: Bad radix
信息
RangeError: radix must be an integer at least 2 and no greater than 36 (Firefox)
RangeError: toString() radix argument must be between 2 and 36 (Chrome)
错误类型
RangeError
错哪里了?
该方法的可选radix
参数Number.prototype.toString()
已指定。它的值必须是2到36之间的整数(数字),指定用于表示数值的数字系统的基数。例如,十进制(基数10)数字169以十六进制(基数16)表示为A9。
为什么这个参数的值限制在36?大于10的基数使用字母作为数字; 因此,基数不能大于36,因为拉丁字母(英文和许多其他语言使用的)只有26个字符。
最常用的基数:
- 2 for binary numbers,
- 8 for octal numbers,
- 10 for decimal numbers,
- 16 for hexadecimal numbers.
例子
无效的情况
(42).toString(0
(42).toString(1
(42).toString(37
(42).toString(150
// You cannot use a string like this for formatting:
(12071989).toString('MM-dd-yyyy'
有效的情况
(42).toString(2 // "101010" (binary)
(13).toString(8 // "15" (octal)
(0x42).toString(10 // "66" (decimal)
(100000).toString(16) // "186a0" (hexadecimal)