在运行项目的时候,发现在console里面提示如下报错:
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个字符。
你可能会用到以下的常见基数:
2 for 二进制,
8 for 八进制,
10 for 十进制,
16 for 十六进制.
示例
错误示例
(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)
网友评论文明上网理性发言 已有0人参与
发表评论: