zoukankan      html  css  js  c++  java
  • JS中Number(),parseInt(),parseFloat()和自动类型转换

    【参考来源】

      https://www.cnblogs.com/yi0921/p/6196841.html

      https://blog.csdn.net/u010200222/article/details/10282351

    【正文内容】

      Number()

    -------------------------------------------------------------------------------------
    --Number()
    --
    --
    --Boolean值,true->1,false->0。
    --
    --数字值,整型就是整型,浮点型就是浮点型,科学计数就科学计数
    --
    --null值,转为0
    --
    --二进制,八进制,十六进制格式,转为十进制的数值
    --
    --字符串为空,转为0
    --
    --字符串中是纯科学计数,数值会直接转为十进制的数值
    --
    --undefined , 对象 , 数组 ,字符串不为纯数字和科学计数时 返回NaN
    ------------------------------------------------------------------------------------

        //JS区分0和-0
            var num = 123;
            var num = 123.123;
            var num = 0b10;
            var num = 010;
            var num = 0xff;
            var num = 5e2;
            var num = 5e-2;
    
            var num = NaN;
    
            console.log('值: ' , num);
            console.log('类型: ' , typeof(num))
    
            //NaN本身为false
            //其他类型转为数值失败时都为NaN
            console.log(NaN - 100);
            if(NaN){
                console.log('Yes');
            }else{
                console.log('No');
            }
    
            //NaN
            var a = '123ad';
            //123
            var a = '123';
            //NaN
            var a = 'f3ad';
            //0
            var a = false;
            //1
            var a = true;
            //NaN
            var a = undefined;
            var a = new Object();
            var a = Array(1,23);
    
            //1e+124
            var a = 10e123;
    
            //3
            var a = 0b11;
    
            //255
            var a = 0xff;
    
            //1.23
            var a = 1.23;
    
            //0
            var a = '';
    
            //1200
            var a = '12e2';
    
            //0
            var a = null;
    
            //90
            var a = 0132;
    
            var n = Number(a);
            console.log(n);

    parseInt()


    -----------------------------------------------------------------------------------------------------------------------------------------
    --parseInt()
    --
    --
    --数值正常转化,如果为浮点数,则转为整型,舍弃小数点后的数值
    --
    --数字开头的字符串,只转换数字整数部分,忽略字母部分
    --
    --二进制,八进制,十六进制转化时,转化为十进制的数值
    --
    --科学计数法,能解析时正常解析,不能时返回第一个数字
    --
    --Boolean,undefined , 对象 , 数组 ,空字符串,字符串开头不为纯数字和科学计数时 返回NaN
    ----------------------------------------------------------------------------------------------------------------------------------------

            //123
            var a = '123ad';
            //123
            var a = '123';
            //NaN
            var a = 'f3ad';
            //NaN
            var a = false;
            //NaN
            var a = true;
            //NaN
            var a = undefined;
            var a = new Object();
    
            //13 第一个值
            var a = Array(13,2);
    
            //3100000能够解析处时正常解析,不能时只返回第一个数字
            var a = 31e5;
    
            //3
            var a = 0b11;
    
            //255
            var a = 0xff;
    
            //1
            var a = 1.23;
    
            //NaN
            var a = '';
    
            //12  字符串只返回12e舍弃
            var a = '12e2';
    
            //NaN
            var a = null;
    
            //1
            var a = 1.5;
    
            //90
            var a = 0132;
    
            var n = parseInt(a);
            console.log(n);
    
            var a = parseInt("10",2);
            var a = parseInt("FF",16);
            var a = parseInt("10",8);
            console.log(a);

     parseFloat()


    --------------------------------------------------------------------------------------------------------------------------------
    --parseFloat()
    --
    --
    --数值正常转化,整型为整型,浮点型为浮点型
    --
    --数字开头的字符串,只转换数字整数部分,忽略字母部分
    --
    --二进制,八进制,十六进制转化时,转化为十进制的数值
    --
    --科学计数法,能解析时正常解析,超出范围则返回Infinity
    --
    --Boolean,undefined , 对象 , 数组 ,空字符串,字符串开头不为纯数字和科学计数时 返回NaN
    --
    --不能有多个小数点报语法错误
    --------------------------------------------------------------------------------------------------------------------------------

             //123
            var a = '123ad';
            //123
            var a = '123';
            //NaN
            var a = 'f3ad';
            //NaN
            var a = false;
            //NaN
            var a = true;
            //NaN
            var a = undefined;
            var a = new Object();
    
            //13 第一个值
            var a = Array(13,2);
    
            //3100000 范围过大将转为科学计数法再大将为Infinity
            var a = 31e5;
    
            //3
            var a = 0b11;
    
            //255
            var a = 0xff;
    
            //1.23
            var a = 1.23;
    
            //NaN
            var a = '';
    
            //1200
            var a = '12e2aa';
    
            //NaN
            var a = null;
    
            //1.5
            var a = 1.5;
    
            //90
            var a = 0132;
    
            //
            var a = 1.113;
    
            var n = parseFloat(a);
            console.log(n);

     自动类型转换

       数字类型: 在字符串环境下 隐身转换为字符串  

       字符串类型 在数字环境下,可以隐式转换为字符串中的数字或NaN;

              在布尔环境下,可以隐式转换为true.

        空字符串:在数字环境下可以隐式转换为0;

             在布尔环境下可以隐式转换为false;

            字符串'true': 在数字环境下可以隐式转换位1;布尔为true

        字符串'false': 数字环境为0,布尔位false

         null: 在字符串环境下,转换为'null';

             数字环境下,转换为0,布尔环境下,转为false

         NaN: 在字符串环境下可以隐式转换为'NaN';

           布尔环境下,转换为false

        undefined: 字符串环境下,转换为“undefined”,

              数字环境下,转为NaN,

                     布尔下,转为false

        true: 字符串转为'true',数字环境下转为1

         false: 字符串转为'false',数字环境下转为0

  • 相关阅读:
    Python面向对象编程及内置方法
    【笨嘴拙舌WINDOWS】SetCapture和ReleaseCapture
    【转】获取屏幕分辨率及大小相关
    【笨嘴拙舌WINDOWS】实践检验之剪切板查看器【Delphi】
    【笨嘴拙舌WINDOWS】剪切板
    【笨嘴拙舌WINDOWS】计时器精度
    【笨嘴拙舌WINDOWS】实践检验之按键精灵【Delphi】
    【笨嘴拙舌WINDOWS】键盘消息,鼠标消息
    【笨嘴拙舌WINDOWS】GDI绘制区域
    【笨嘴拙舌WINDOWS】实践检验之GDI缩放
  • 原文地址:https://www.cnblogs.com/wangyang0210/p/9526440.html
Copyright © 2011-2022 走看看