JavaScript中的ParseInt的用法

JavaScript中的ParseInt

JavaScript中的parseInt
JavaScript数据类型转换分两种:
自动类型转换:会转换不同的类型数据的运算,自动转换为相同类型运算。
强制类型转换:在不同的环境中,根据需求的而不能用自动类型转换,那么需要使用强制类型转换,从而实现程序员的需求。

强制类型转换的函数有:parseInt(),parseFloat(),Number()等。

接下来我们说一说强制类型转换中parseInt函数:
parseInt() 是JavaScript中的内置函数,作用是将参数(字符串)强制转换为整数。
1》 parse : 解析字符串
2》 int : 整数
该函数接收两个参数:第一个参数是要转换的值(一般为字符串),第二个参数是进制范围

  1. 转换规则:依次将字符串中从左到右的数字部分转为整数,一旦转换失败,返回NaN。
    (1) 数字字符串:
    var a = parseInt(‘10’); //将字符串转成整数类型
    console.log(a); // 10

var b = parrseInt(‘10true’); //将有效数字部分转为整数,提交有效数字部分,直到非数字为止
console.log(b); // 10

var c = parseInt(‘10true20’); //只将开头有效部分转为整数
console.log©; //10

var d = parseInt(‘045zoo’); //开头部分转为整数,数字前面的0省略
console.log(d); //45

var e = parrseInt(‘0xa’); //0x是十六进制的表示方法,a是十六进制中的10,转换成整数后自动切换为十进制
console.log(e); //10

var f = parseInt(‘34.5’); //整数部分,小数点非数字部分,舍去
console.log(f); //34

var g = parseInt(‘a3’); //非有效数字开头,转为NaN(Not a Number 不是数字)的特殊数值
console.log(g); //NaN
(2) 数字类型:转换后还是数字,将对该数字取整
var a = parseInt(3.4); //取整
console.log(a); //3
(3) 其它数据类型:都不符合有效数字,所以结果都转为NaN
var a = parseInt(true);
console.log(a); //NaN

var b = parseInt(null);
console.log(b); //NaN

var c = parseInt(undefined);
console.log(c); //NaN

var d = parseInt([]);
console.log(d); //NaN

var e = parseInt({});
console.log(e); //NaN

(4) 第二个参数:表示进制,范围236(如果省略第二个参数或第二个参数为0时,表示第一个参数为十进制数;如果超出236 的范围,则转换的结果都是NaN; 如果第一个参数的开头部分整数没有符合第二个参数的进制规则,结果返回NaN)

var a = parseInt(‘34’,0); //第二个参数为0,表示第一个参数为十进制数,符合规则,结果正则转为整数34
console.log(a); // 34

var b = parseInt(‘34’,1); //第二个参数超出规定范围,所以结果转为NaN
console.log(b); //NaN

var c = parseInt(‘34’,37); //第二个参数超出规定范围,所以结果转为NaN
console.log(c); //NaN

var d = parseInt(‘34’,36); //判断’34’ 是否为36进制数字,如果是,则转换成整数;如果不是,则返回NaN
console.log(d); // 112

var e = parseInt(‘101’,2);  // ‘101’ 属于 指定的 二进制 转为整数并自动转为十进制
console.log(e); // 5

var f = parseInt(‘102’,2); //将有效的二进制部分转成整数并转成十进制
console.log(f); //2

var g = parseInt(‘201’,2); //开头部分没有符合二进制的部分
console.log(g); // NaN

总结: 一般情况下,我们只使用到parseInt函数中的第一个参数(重点),在一些特殊情况(面试)中也会涉及到第二个参数的使用。希望对大家有所帮助!

猜你喜欢

转载自blog.csdn.net/DLJMO/article/details/109296730
今日推荐