JavaScript数据类型 - Number类型

Number类型

Number类型应该是ECMAScript中最令人关注的数据类型了,这种类型使用IEEE754格式来表示整数和浮点数值。为支持各种数值类型,ECMA262定义了不同的数值字面量表示格式。

我们平时用的最多的也是最基本的数值字面量格式是十进制整数,十进制整数可以像下面这样直接写在代码中:

var intNum = 68;//整数

除了以十进制表示外,整数还可以通过八进制(以8为基数)或十六禁止(以16为基数)的字面值来表示。其中八进制字面值的第一位必须是0,然后是八进制数字序列(0~7)。如果字面值中的数值超出了(0~7)范围,那么第一位的数值0将被忽略,后面的数值将被当作十进制数值解析。看下面的例子:

var octNum1 = 070; //八进制56
var octNum2 = 079; //无效的八进制数值 -- 解析为十进制数值79,因为9已经超出了0~7范围
var octNum3 = 08; //无效的八进制数值 -- 解析为十进制数值8, 同样因为8超出了0~7范围

十六进制字面值的前两位必须是0x,后面跟任何十六进制的数字(0~9 和A~F)。其中字母A ~ F可以大写也可以小写。如下:

var hexNum1 = 0xA; //十六进制的10
var hexNum2 = 0x1f; //十六进制的31

在进行算术运算时,所有以八进制和十六进制表示的数值最终都将被转换成十进制数值。

浮点数值

所谓浮点数,就是该数值中必须包含一个小数点,并且小数点后面必须至少有一个数字。虽然小数点前面可以没有整数,但并不推荐这种写法。以下是浮点数的几个例子:

var floatNum1 = 1.1;
var floatNum2 = 0.1;
var floatNum3 = .1;  //有效浮点数,但不推荐这种写法

由于保存浮点数值所需的内存空间是保存整数的两倍,因此在一些特殊情况下,ECMAScript会将浮点数转换为整数。比如,小数点后面没有跟任何数字,或者说浮点数值本身表示的就是一个整数即小数点后面只有一个0,那么这样的值将会被转换为整数。看下面的例子:

var floatNum1 = 1.; //小数点后面没有跟数字,将被解析为整数1
var floatNum2 = 10.0; //小数点后面是0,本身表示的就是一个整数,被解析为整数10

对于那些极大或极小的数值,可以用e表示法即科学计数法来表示浮点数值。用e表示法表示的数值等于e前面的数值乘以10的指数次幂(e后面的数字)。es中的e表示法的格式也是如此,即前面是一个数值,中间是一个大写或小写的字母e,后面就是1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值