HLJ 发布于
2025-06-11 09:39:22
0阅读

JavaScript 数字类型

下一篇文章:

JavaScript 字符串

JavaScript 数字类型

JavaScript 中的数字类型用于表示数值,包括整数和浮点数。以下是关于 JavaScript 数字类型的详细介绍:

基本特性

  • JavaScript 只有一种数字类型,即 Number 类型
  • 采用 IEEE 754 标准的 64 位双精度浮点数格式表示
  • 不区分整数和浮点数,所有数字都以浮点数形式存储
  • 可以表示的范围大约在 ±5e-324 到 ±1.7976931348623157e+308 之间

数字表示方式

// 整数
let integer = 42;

// 浮点数
let float = 3.14159;

// 科学计数法
let scientific = 2.998e8; // 2.998 × 10^8 = 299,800,000

// 二进制 (ES6+)
let binary = 0b1010; // 10

// 八进制 (ES6+)
let octal = 0o755; // 493

// 十六进制
let hex = 0xFF; // 255

特殊数值

// 无穷大
let infinity = Infinity; // 或 -Infinity

// 非数字 (Not a Number)
let nan = NaN; // 表示数学运算无法产生有意义的结果

常用方法

Number 对象方法

// 判断是否为有限数
Number.isFinite(42); // true
Number.isFinite(Infinity); // false

// 判断是否为整数
Number.isInteger(42); // true
Number.isInteger(42.5); // false

// 判断是否为 NaN (更可靠的版本)
Number.isNaN(NaN); // true
Number.isNaN("text"); // false (不同于全局 isNaN)

// 安全整数检查
Number.isSafeInteger(2 ** 53); // false
Number.isSafeInteger(2 ** 53 - 1); // true

Math 对象方法

// 四舍五入
Math.round(4.7); // 5

// 向上取整
Math.ceil(4.2); // 5

// 向下取整
Math.floor(4.9); // 4

// 绝对值
Math.abs(-5); // 5

// 平方根
Math.sqrt(9); // 3

// 幂运算
Math.pow(2, 3); // 8

// 随机数 [0, 1)
Math.random();

精度问题

由于使用二进制浮点数表示,JavaScript 中会出现精度问题:

0.1 + 0.2 === 0.3; // false

这是因为 0.1 和 0.2 在二进制中无法精确表示。对于需要精确计算的场景(如金融计算),可以使用以下方法:

  1. 将数字转换为整数进行计算后再转换回去
  2. 使用专门的库如 decimal.jsbig.js

数字分隔符 (ES2021)

let billion = 1_000_000_000; // 更易读,等同于 1000000000

类型转换

// 字符串转数字
Number("123"); // 123
parseInt("123px"); // 123
parseFloat("3.14.15"); // 3.14

// 数字转字符串
let num = 123;
num.toString(); // "123"
String(num); // "123"

JavaScript 的数字类型虽然简单,但在实际使用中需要注意其精度限制和类型转换规则。

当前文章内容为原创转载请注明出处:http://www.good1230.com/detail/2025-06-11/791.html
最后生成于 2025-06-13 20:52:40
下一篇文章:

JavaScript 字符串

此内容有帮助 ?
0