JavaScript 数字

概要: 在本教程中,您将了解 JavaScript 数字类型以及如何有效地使用它们。

JavaScript 数字简介

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

ES2020 引入了新的原始类型 bigint 来表示大于 253 – 1 的大整数。

为了支持各种类型的数字,JavaScript 使用不同的数字文字格式。

整数

以下显示了如何声明一个保存十进制整数的变量

let counter = 100;Code language: JavaScript (javascript)

整数可以用以下格式表示

  • 八进制 (基数 8)
  • 十六进制 (基数 16)

当您在算术运算中使用八进制和十六进制数字时,JavaScript 会将它们视为十进制数字。

八进制数

八进制文字数字以数字零 (0) 开头,后面跟着一系列八进制数字 (0 到 7 之间的数字)。例如

let num = 071;
console.log(num);Code language: JavaScript (javascript)

输出

57

如果八进制数字包含不在 0 到 7 范围内的数字,则 JavaScript 引擎会忽略 0 并将该数字视为十进制数字。例如

let num = 080;
console.log(num);Code language: JavaScript (javascript)

输出

80

这种隐式行为可能会导致问题。因此,ES6 引入了新的 八进制文字,它以 0o 开头,后面跟着一系列八进制数字 (0 到 7)。例如

let num = 0o71;
console.log(num);Code language: JavaScript (javascript)

输出

57

如果 0o 后面有无效数字,JavaScript 将发出以下语法错误

let num = 0o80;
console.log(num);Code language: JavaScript (javascript)

输出

let num = 0o80;
          ^^
SyntaxError: Invalid or unexpected tokenCode language: JavaScript (javascript)

十六进制数

十六进制数字以 0x 或 0X 开头,后面跟着任意数量的十六进制数字 (0 到 9,以及 a 到 f)。例如

let num = 0x1a;
console.log(num);Code language: JavaScript (javascript)

输出

26

浮点数

要定义浮点数文字数字,您需要包含一个小数点,以及至少一个小数点后的数字。例如

let price = 9.99;
let tax = 0.08;
let discount = .05; // valid but not recommededCode language: JavaScript (javascript)

当您有一个非常大的数字时,可以使用 e 记法。e 记法表示一个数字应该乘以 10 的某个幂。例如

let amount = 3.14e7;
console.log(amount);Code language: JavaScript (javascript)

输出

31400000

3.14e7 表示将 3.14 乘以 107

同样地,您可以使用 e 记法来表示一个非常小的数字。例如

let amount = 5e-7; 
console.log(amount);Code language: JavaScript (javascript)

输出

0.0000005Code language: CSS (css)

5e-7 表示将 5 除以 10,000,000。

此外,JavaScript 会自动将所有小数点后至少有六个零的浮点数转换为 e 记法。例如

let amount = 0.0000005;
console.log(amount);Code language: JavaScript (javascript)

输出

5e-7

浮点数的精度高达 17 位小数。当您对浮点数进行算术运算时,您经常会得到近似结果。例如

let amount = 0.2 + 0.1;
console.log(amount);Code language: JavaScript (javascript)

输出

0.30000000000000004Code language: CSS (css)

大整数

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

大整数文字在整数文字的末尾带有 n 字符,例如

let pageView = 9007199254740991n;Code language: JavaScript (javascript)

总结

  • JavaScript 数字类型表示整数和浮点数。
本教程是否有帮助?