JavaScript Number数据类型

目录

1. 进制问题

2. 最大值和最小值 无穷大 无穷小

3. NaN

4. 转化为数字

4.1 parseInt() 转换为数字型的整数

4.1 parseFloat() 转化为数字型的浮点数

4.2 Number 强制转换

注意: Number不影响原有的字符

4.3 数学运算 隐式转换


1.进制问题

需要记住,八进制就是数字前面有0十六进制是前面有0x,一般用的不多

八进制

        var num = 011;
        console.log(num); // 9 运算是1*8^1+ 1*8^0 = 9
        

十六进制

        var num1 = 0x11;
        console.log(num1); // 17 运算是1*16^1+ 1*16^0 = 17

2. 最大值和最小值 无穷大 无穷小

        // 数字型最大值
        console.log(Number.MAX_VALUE); // 1.7976931348623157e+308
        // 数字型的最小值
        console.log(Number.MIN_VALUE); // 5e-324
        // 无穷大
        console.log(Number.MAX_VALUE * 2); // Infinity
        // 无穷小
        console.log(-Number.MAX_VALUE * 2); // -Infinity

这几个稍微了解即可。稍微注意一下,无穷小是 -Number.MAX_VALUE

3. NaN

一个不是数字的数字类型

字符串和数字进行减法、乘法、除法操作,都是NaN,但是加法就是拼接字符串啦

        console.log("帅哥" + 100); // 帅哥100
        console.log("帅哥" - 100); // NaN
        console.log("帅哥" * 100); // NaN
        console.log("帅哥" / 100); // NaN

isNaN()

判断一个数字是否是非数字

如果是数字,打印false

如果不是数字,打印false

        console.log(isNaN(100)); // false
        console.log(isNaN('帅哥')); // true

4. 转化为数字

为什么要进行数据类型的转换?

        我们在获取用户数据的时候,有时候不能直接确定这个数据类型是什么?就要提前预备进行转化,以便更好的进行处理。

4.1 parseInt() 转换为数字型的整数

关注第三和第四和第五个

注意:如果数字开头,比如parseInt('123abc'),但是后面有abc,parseInt()和parseFloat()能够把后面的abc去掉

如果是px开头,那么就会打印NaN。这个在一些项目中会用到,面试也有可能会闻到。

        console.log(parseInt('3.14')); // 3
        console.log(parseInt('8.88')); // 8 直接砍掉数字的尾巴,进行转化,没有残留,不会四舍五入
        console.log(parseInt('123abc')); // 123
        console.log(parseInt('px123abc')); // NaN
        console.log(parseInt('px123')); // NaN

4.1 parseFloat() 转化为数字型的浮点数

        console.log(parseFloat('3.14')); // 3.14
        console.log(parseFloat('9.99')); // 9.99 
        console.log(parseFloat('9.99abc')); // 9.99 
        console.log(parseFloat('abc9.99')); // NaN
        console.log(parseFloat('abc9.99ddd')); // NaN

4.1 牛客例题

 floor是地板函数,向下取整

a.split('.')[0]-->split是把字符串转化为数组,分成数组以后里面的索引为0的值是10,但是数据类型是字符串,不是整数

        var a = '10.42';
        console.log(a.split('.')[0]); // 10

4.2 Number 强制转换

注意: Number不影响原有的字符

        var str9 = '123';
        var num9 = Number(str9);
        console.log(typeof num9); // number
        console.log(typeof str9); // string

4.3 数学运算 隐式转换

除了第一个+法是转换为字符,其余都是转化为数字

        console.log('3' + 2);
        console.log('3' - '2');
        console.log('3' * '2');
        console.log('3' / '2');
        console.log('3' % '2');

结尾:

学习id: 201903090124-34

现在是大三学生,学习到了vue阶段,如有不对的地方,欢迎指正,一起努力呀。如有转载请注明出处

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值