1.整数和浮点数

 

JavaScript 语言的底层根本没有整数

由于浮点数不是精确的值,所以涉及小数的比较和运算要特别小心。

 

0.1 + 0.2 === 0.3

// false

 

0.3 / 0.1

// 2.9999999999999996

 

(0.3 - 0.2) === (0.2 - 0.1)

// false

 

 

 

 

2. 数值精度

 

 

 

根据国际标准 IEEE 754,JavaScript 浮点数的64个二进制位,从最左边开始,是这样组成的。

  • 第1位:符号位,0表示正数,1表示负数
  • 第2位到第12位(共11位):指数部分
  • 第13位到第64位(共52位):小数部分(即有效数字)

 

 

 

3. 数值范围

JavaScript 提供Number对象的MAX_VALUE和MIN_VALUE属性,返回可以表示的具体的最大值和最小值。

 

Number.MAX_VALUE // 1.7976931348623157e+308

Number.MIN_VALUE // 5e-324

 

 

4. NaN

(1)含义

 

NaN是 JavaScript 的特殊值,表示“非数字”(Not a Number),主要出现在将字符串解析成数字出错的场合。

 

5 - 'x' // NaN

上面代码运行时,会自动将字符串x转为数值,但是由于x不是数值,所以最后得到结果为NaN,表示它是“非数字”(NaN)。

 

另外,一些数学函数的运算结果会出现NaN。

 

5. Infinity

Infinity有正负之分,Infinity表示正的无穷,-Infinity表示负的无穷。

6. 与数值相关的全局方法

parseInt方法用于将字符串转为整数。

parseInt('123') // 123

如果字符串头部有空格,空格会被自动去除。

 

进制转换

 

默认情况下,parseInt的第二个参数为10,即默认是十进制转十进制。

 

parseInt('1000') // 1000

// 等同于

parseInt('1000', 10) // 1000

 

 

parseFloat()

parseFloat方法用于将一个字符串转为浮点数。

 

parseFloat('3.14') // 3.14

 

isNaN()

isNaN方法可以用来判断一个值是否为NaN

isNaN(NaN) // true

isNaN(123) // false

 

 

isFinite()

isFinite方法返回一个布尔值,表示某个值是否为正常的数值。

isFinite(-Infinity) // false

isFinite(NaN) // false

isFinite(-1) // true

posted on 2018-02-24 10:43  Sharpest  阅读(125)  评论(0)    收藏  举报