JS之number类型

目录

揉揉脑袋,到底number是怎样的呢?


对于JS的数据类型,可以分为基本数据类型和引用数据类型两大板块,那么基本数据类型呢又可以细分为number(数字类型)、string(字符串类型)、null(空对象指针类型)、undefined(定义未被赋值类型)、symbol类型、Boolean(布尔类型)。引用数据类型就是object类型。作为基本数据类型,今天我们就一起来探究一下number!!

揉揉脑袋,到底number是怎样的呢?

Number类型,即数值类型, 包含:整数型、浮点型、NaN(not a number)和Infinity(正负无穷大)

首先,该如何定义一个整型数值呢?

 首先用var定义一个数值为18的变量age,用console.log在控制台打印输出age所赋予的值18,也可以用console.log(typeof age)查看age的数据类型。

注意

var后面都是自己定义的变量名(可以是你写的任何东西,全靠自己心情)

typeof和变量名字之间一定要有空格,或者用(将变量名包裹起来)===》console.log(typeof(age))

那么,在浏览器控制台就会出现这种效果:

 18就是age的整数值,number就是age的数据类型。

浮点数类型又该如何定义呢

看到这个标题有没有懵了呢?什么是浮点数呢?好了好了,不整那些高大上的了,浮点数就是我们通常说的小数。有了整数型,那指定少不了小数型的wa:

 怎么样,是不是和整数型的差不多?实质都是一样的,无非就是多了个小数点。那么,问题来喽:如果把12.8改为12.08会怎么样呢?12.80又会怎样呢?

首先,别的不需要去动,我们只需要修改一下  =   后的数值就行。结果如下:

这是12.08的 

 咋样,相信自己的判断,就是12.08

这是12.80的:

嘿嘿,有没有料到呢,没错就是自动把末尾没有意义的0去掉了!

注意:自动把末尾没有意义的0去掉!

但是呢,牵扯到小数,就会出现小数相加精度不准确的例子,例如0.1+0.2,按照我们学的数学运算,0.1+0.2是不是0.3?但是这里呢,就出现了像这样的情况:

 

 这就是精度不准确出现的误差,也不是每个小数都会出现这种情况,但是当我们遇到了该怎样处理呢?

首先第一种:

使用toFixed保留小数,toFixed(括号里是几,就会保留几位小数,并进行四舍五入)

结果如下:

 有没有发现,这里的字体颜色不一样了,由蓝色变成了黑色,这是为什么呢?

注意看前几张图片,蓝色的字下面跟的是什么数据类型?

是number数据类型,而这个黑色的数字前是string数据类型,所以他们的数据类型是不一样的,toFixed返回的数据类型是字符串类型。那么又该如何把数据类型转回number类型呢?

 只需要重新定义一个变量,再用parseFloat进行转换即可。

让我想想,你大概是要问parseFloat是什么?/

parseFloat是一个可以将字符串类型转化为number类型的工具,具体使用方法如上图所示。

这第一种是一个比较粗暴的解决方法。

第二种解决方法:

 将两个小数先换成整数,再进行整数运算,最后再将得出来的整数除以小数位(就是有一位小数除以10,两位小数就除以100,以此类推,你懂得哈)

NaN类型又是什么?

NaN全称: NOT A NUMBER

我们可以通过isNaN()函数来判断某个变量是否为NaN,例如:如果value是NaN,则isNaN(value)返回的结果是true;如果value不是NaN,则isNaN(value)返回的结果是false。(有点绕,自己思考一下吧)

 就像这样,如果输出的是一个数字,那么在第四行就会输出一个false。

 别急别急,它为什么是111而不是111a呢?这就是他的运算规则。就比如111abc经过parseFloat运算就会变为number类型的111,他会自动把数字后面的字母忽略,11a2bc呢?===》11,abc123呢===》NaN,因为它开头是英文字母,不是数字,所以parseFloat判定它不能转化为数字类型,就会输出一个NaN。

Infinity(正负无穷大)

Infinity表示正无穷大

-infinity表示负无穷大

 输出结果就是这样:

 这个还是比较简单的吼~

     

恭喜你,学会了number的所有类型了,自己去动手试试看叭!

整理一篇不容易,我要去放松一下,下一篇见!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值