美文网首页
3.JavaScript-数据类型转换为数值类型

3.JavaScript-数据类型转换为数值类型

作者: 乄Denve彡 | 来源:发表于2019-04-02 15:32 被阅读0次
    • \color{red}{1.将String类型转换为数值类型}
    • \color{red}{2.将Boolean类型转换为数值类型}
    • \color{red}{3.将undefined类型转换为数值类型}
    • \color{red}{4.将null类型转换为数值类型}

    在JavaScript中如果想将以上的四种基本数据类型转换为数值类型,常用的方法有三种

    第一种:通过Number(常量or变量);方式来转换

    \color{red}{注意点}

    • 如果字符串中都是数值,那么就正常转换
    • 如果字符串中没有数据(空字符串)""/" ",那么转换的结果为0
    • 如果字符串中的数据不仅仅是数值,那么转换的结果是NaN
    • 如果是布尔类型的true,那么转换的结果是1
    • 如果是布尔类型的false,那么转换的结果是0
    • 如果是空类型(null),那么转换的结果是0
    • 如果是undefined(未定义)类型,那么转换的结果是NaN
    // 如果字符串中都是数值,那么就正常转换
    let str = "111";
    let num = Number(str);
    console.log(num);  // 111
    console.log(typeof num);  / number
    
    // 如果字符串中没有数据(空字符串)""/"   ",那么转换的结果为0
    let str = "  ";
    let num = Number(str); 
    console.log(num);  // 0
    console.log(typeof num);  // number
    
    // 如果字符串中的数据不仅仅是数值,那么转换的结果是NaN
    let str = "13px";
    let num = Number(str);
    console.log(num);     // NaN
    console.log(typeof num);  // number
    
    // 如果是布尔类型的true,那么转换的结果是1
    // 如果是布尔类型的false,那么转换的结果是0
    // 如果是空类型(null),那么转换的结果是0
    let str = true;
    let str1 = false;
    let str2 = null;
    let num = Number(str);
    let num1 = Number(str1);
    let num2 = Number(str2);
    console.log(num, num1, num2);  // 1 0 0
    console.log(typeof num);  // number
    console.log(typeof num1);  // number
    console.log(typeof num2);  // number
    
    // 如果是undefined(未定义)类型,那么转换的结果是NaN
    let str = undefined;
    let num = Number(str);
    console.log(num);  // NaN
    console.log(typeof num);  // number
    

    第二种:还可以通过数学运算符号中的+号和-号来转换
    注意点:虽然通过+/-都可以将其他类型转换为数值类型,但是-号会改变数值的正负性
    +/-本质上就是调用了Number()函数

    let str = "111";
    let num = +str;
    console.log(num); // 111 
    console.log(typeof num);    // number
    
    // -号会改变数值的正负性
    let str = "111";
    let num = -str;
    console.log(num);  // -111
    console.log(typeof num);    // number
    

    第三种:还可以通过parseInt(需要转换的字符串)/parseFloat(需要转换的字符串)
    注意点:parseInt/parseFloat都会从左至右的提取数值,一旦遇到非数值就会立即停止 停止的时候如果还没有提取到数值,就会返回NaN
    parseInt/parseFloat都会将传入的数据当作字符串来处理 无论是true/false/undefined/null,最后都会返回NaN

    // parseInt(需要转换的字符串)
    let str = "13.04px";
    let num = parseInt(str);
    console.log(num); // 13
    console.log(typeof num);  // number
    
    // parseFloat(需要转换的字符串)
    let str = "13.04px";
    let num = parseFloat(str);
    console.log(num); // 13.04
    console.log(typeof num);  // number
    
    // parseInt/parseFloat都会将传入的数据当作字符串来处理 无论是true/false/undefined/null,最后都会返回NaN
    let str = true;
    let num = parseFloat(str);
    console.log(num);   // NaN
    console.log(typeof num);
    

    相关文章

      网友评论

          本文标题:3.JavaScript-数据类型转换为数值类型

          本文链接:https://www.haomeiwen.com/subject/uadgbqtx.html