JavaScript 数值类型

JavaScript使用number类型来表示整数和浮点值。number类型使用 IEEE-754格式

3 min read
By myfreax
JavaScript 数值类型
JavaScript 数值类型

JavaScript使用number类型来表示整数和浮点值。从技术上讲,number类型使用 IEEE-754格式。

ES2020引入了一种新的原始类型bigint,表示值大于253–1的大整数。为了支持各种类型的数字,JavaScript使用不同的数字文字格式。

整数有三种格式,分别是十进制整数,八进制,十六进制。当您在算术运算中使用八进制和十六进制数时,JavaScript将它们视为十进制数。

八进制

八进制数字以数字零0开头,后跟一系列八进制数字,从 0 到 7 的数字。例如代码let num = 071;

如果八进制数包含不在0到7范围内的数字,JavaScript引擎会忽略0。并将数字视为十进制数。例如代码let num = 080;

这种隐式行为可能会导致问题。因此,ES6引入了一个新的八进制字面量,它以0o后面跟着一个八进制数字,从0到7。例如代码let num = 0o71;

如果0o后面的数字无效, JavaScript引擎将会抛出语法错误^^SyntaxError: Invalid or unexpected token。例如代码let num = 0o80;

let num = 071;
let num = 0o71; //ES6
console.log(num);
57

十六进制

十六进制数字以0x0X开头,后跟任意数量的十六进制数字,0到9以及a到f。例如代码let num = 0x1a;

let num = 0x1a; 
console.log(num);
26

浮点数

要定义浮点文字数,您需要包含一个小数点和至少一个数字。例如代码let price = 9.99;

当你有一个非常大的数字时,你可以使用E-notation表示一个数字应该乘以10多次此方。例如代码let amount = 3.14e7;3.14e7符号表示3.14将其乘以107

同样,您可以使用E表示法来表示非常小的数字。例如代码let amount = 5e-7;。5e-7表示法表示取5除以10,000,000的值。也就是0.0000005

此外,如果小数点后至少有六个零的浮点数,JavaScript会自动转换为E表示法。例如let amount = 0.0000005;。也就是5e-7

浮点数精确到小数点后17位。当您对浮点数执行算术运算时,您通常会得到近似结果。例如代码let amount = 0.2 + 0.1;。值是0.30000000000000004

bigint

从ES2022开始,JavaScript引入bigint类型。bigint类型存储值大于253–1的整数。

bigint数值通常在末尾有一个字符n。例如代码let pageView = 9007199254740991n;

结论

至此,你已了解JavaScript Number类型表示整数和浮点数的方式以及javascript的数值的隐式转换。

Related Articles