Node.js 数字

2020-07-20 16:45 更新

JavaScript中的所有数字都是64位IEEE 754双精度浮点数,都具有相同的浮点数类型。算术运算(+, - ,*,/,%)对数字起作用。

var myData = 1; 
var myValue = 2; 
console.log(myData + 1); 
console.log(myData / myValue); 
console.log(myData * myValue); 
console.log(myData - myValue); 
console.log(myData % 2);

上面的代码生成以下结果。

算术运算结果

例子

JavaScript中的数字类型与其他语言中的整数数据类型非常类似:

console.log(1024 * 1024);

上面的代码生成以下结果。

数字类型结果

然而,使用数字类型的棘手部分是,对于许多数字值,它是一个实际数的近似值。

例如:

console.log(0.1 + 0.2);

上面的代码生成以下结果。

近似值

当执行浮点数学运算时,我们不能操作任意实数和期望精确值:

console.log(1 - 0.3 + 0.1 == 0.8);

上面的代码生成以下结果。

浮点运算结果

注意1

在JavaScript中将数字除以0会返回值Infinity或-Infinity而不是生成运行时异常:

console.log(5 / 0);
console.log(-5 / 0);

上面的代码生成以下结果。

除以0的结果

Infinity和-Infinity是我们可以在JavaScript中比较的有效值:

var x = 10, y = 0;
console.log(x / y == Infinity);

上面的代码生成以下结果。


注意2

你可以使用函数parseInt和parseFloat将字符串转换为数字:

console.log(parseInt("32"));
console.log(parseFloat("8.24"));
console.log(parseInt("234.12345"));
console.log(parseFloat("10"));

上面的代码生成以下结果。

字符串转换结果

注意3

如果我们为这些函数提供不可解析的值,它们返回特殊值NaN:

console.log(parseInt("cat"));
console.log(parseFloat("css"));

上面的代码生成以下结果。

NaN值

要测试NaN,请使用isNaN函数:

isNaN(parseInt("cat"));

注意4

要测试给定数是否是有效的有限数,请使用 isFinite 函数:

console.log(isFinite(10/5));
console.log(isFinite(10/0));
console.log(isFinite(parseFloat("css")));

上面的代码生成以下结果。

isFinite函数结果

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号