首页 > 代码库 > Javascript数据类型——number类型

Javascript数据类型——number类型

        ECMAScript规范中使用IEEE754格式来表示整数和浮点数。支持十进制、八进制以及十六进制。有一点注意的是八进制数字在严格模式下是无效的,这可能会影响到程序的正常运行。

避免浮点数等值判断:

      众所周知,基于IEEE754进行数据计算会产生舍入误差,最为经典的例子:

0.1+0.2 = 0.30000000000000004 ; 0.15+0.15 = 0.3;

       在实际开发中应尽量避免使用浮点数的等值判断。

NaN:

     关于NaN有两点特别关键,NaN和任何数的操作的返回值都是NaN;NaN和任何量都不相等,包括NaN本身。检测一个变量是否是NaN,只有isNaN()可以。

数字转换:

    Javascript提供了把非数字转换为数字的方法:Number(),parseFloat(),parseInt()函数。其中,Number()方法接受object对象,paraseInt()和parseFloat()接受string对象。具体转换规则:

  • Boolean类型,true-1,false-0;
  • Number类型,不做处理。
  • null,返回0
  • undefined ,返回NaN
  • String类型:1、纯数字组成(符号不算),包括整数、浮点数、十六进制数字转为为十进制数字量;2、空字符串,返回0;3、不属于1和2,返回NaN。
  • Object,先调用valueOf()方法,按以上规则转换,如返回NaN,再调用toString()方法,按以上方式返回。