parseInt函数将其第一个参数转换为一个字符串,对该字符串进行解析,然后返回一个整数或 NaN
-
parseInt(string, radix)解析一个字符串并返回指定基数的十进制整数,
radix是 2-36 之间的整数,表示被解析字符串的基数string要被解析的值。如果参数不是一个字符串,则将其转换为字符串 (使用ToString抽象操作)。字符串开头的空白符将会被忽略。 -
radix_ 可选_ 从2到36的整数,表示进制的基数。例如指定16表示被解析值是十六进制数。如果超出这个范围,将返回NaN。假如指定0或未指定,基数将会根据字符串的值进行推算。注意,推算的结果不会永远是默认值10!文章后面的描述解释了当参数radix不传时该函数的具体行为。
如果 parseInt 遇到的字符不是指定 radix 参数中的数字,它将忽略该字符以及所有后续字符,并返回到该点为止已解析的整数值。parseInt 将数字截断为整数值
如果 radix 是 undefined、0 或未指定的,JavaScript 会假定以下情况:
- 如果输入的
string以0x或0X(一个 0,后面是小写或大写的 X)开头,那么 radix 被假定为 16,字符串的其余部分被当做十六进制数去解析。- 如果输入的
string以 "0"(0)开头,radix被假定为8(八进制)或10(十进制)。具体选择哪一个 radix 取决于实现。ECMAScript 5 澄清了应该使用 10 (十进制),但不是所有的浏览器都支持。因此,在使用parseInt时,一定要指定一个 radix。- 如果输入的
string以任何其他值开头,radix是10(十进制)。
如果第一个字符不能转换为数字,parseInt 会返回 NaN。
要将一个数字转换为特定的 radix 中的字符串字段,请使用 thatNumber.toString(radix) 函数
Number.prototype.toString()
toString() 方法返回指定 Number 对象的字符串表示形式
numObj.toString([radix])
radix 指定要用于数字到字符串的转换的基数 (从 2 到 36)。如果未指定
radix参数,则默认值为 10。
Number 对象覆盖了 Object 对象上的 toString() 方法,它不是继承的 Object.prototype.toString()。对于 Number 对象,toString() 方法以指定的基数返回该对象的字符串表示。
-
如果转换的基数大于 10,则会使用字母来表示大于 9 的数字,比如基数为 16 的情况,则使用 a 到 f 的字母来表示 10 到 15。
-
如果基数没有指定,则使用 10。
-
如果对象是负数,则会保留负号。即使 radix 是 2 时也是如此:返回的字符串包含一个负号(-)前缀和正数的二进制表示,不是 数值的二进制补码。
var numObj = new Number(10);
console.log(typeof numObj); // object
var num = numObj.valueOf();
console.log(num); // 10
console.log(typeof num); // number