js字符串或则布尔值转换成数字类型的几种方法

1.parseInt()

2.parseFloat()

3.Number()

4.通过减法或者乘法把其他类型的值转换为数字类型

5.+value

例子:

  // 转换成数字类型的4种方法
        // 1.parseInt
    var a = '1.03';
    var b = '1.01a';
    var c = 'a1';
    var d = true;
    var e = false;
    console.log(parseInt(a));  // 1  小数字符串,使用parseInt会把小数取整
    console.log(parseInt(b)); // 1   数字开头的字符串,可以把数字提取出来
    console.log(parseInt(c));  // NaN 非数字开头的字符串,会返回NaN
    console.log(parseInt(d));   // 布尔型不能通过parseInt转换为字符串
    console.log(parseInt(e));   // 布尔型不能通过parseInt转换为字符串
    console.log("================");
    
    // 2.parseFloat
    console.log(parseFloat(a));  // 1.01 
    console.log(parseFloat(b));  // 1.01 数字的开头的字符串,可以把数字提取出来
    console.log(parseFloat(c));  // 非字符串开头的字符串通过parnseFloat得到NaN
    console.log(parseFloat(d));  // 布尔型不能通过parseFloat转换为NaN
    console.log(parseFloat(e));  // 布尔型不能通过parseFloat转换为NaN

    console.log("================");


    //3.Number
    console.log(Number(a)); // 1.01   Number()方法只能把纯数字的字符串转换为数字
    console.log(Number(b)); // NaN    Number()方法转换非纯数字的字符串得到NaN
    console.log(Number(c)); // NaN    Number()方法转换非纯数字的字符串得到NaN
    console.log(Number(d)); // 1      Number()方法可以把布尔型转换为0或1
    console.log(Number(e)); // 0      Number()方法可以把布尔型转换为0或1
    

    console.log("==================");
    
    //4.减法或者乘法,可以把其他类型转换为数字

    console.log(a-0); // 1
    console.log(a*1); // 1
    console.log(a-1); // 0.030000000000000027
    console.log(d-0); // 布尔值true减去0,或者乘以1,会转换成数字1
    console.log(d*1);// 布尔值true减去0,或者乘以1,会转换成数字1
    console.log(e-0);//  布尔值false减去0,或者乘以1,会抓换成数字0
    console.log(e*1);//  布尔值false减去0,或者乘以1,会抓换成数字0
    
    var str =  '122'
    console.log(+str); // 122
    var str2 = 'asdf'
    console.log(+str2); // NaN

其实就是两种比较常用:

Number 和 +value 

2020.09.28 0:03 update