消息
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)
错误类型
发生了什么错误?
在使用Number.prototype.toString()
方法时使用了可选的基数参数,参数应该为一个2到36之间的整型(数字),返回对应数字的转换为字符串时表示的该进制对应的数字量。
为什么小于36呢?因为一个大于(包含等于)10的基数在使用时需要用一个字母表字符来代替。不能超过36是因为拉丁字母表中只有26个字符。
你可能会用到以下的常见基数:
示例
错误示例
(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)