number 数字类型

最后更新:2026-10-22

number 数字类型

number 统一表示整数和小数——JS 只有这一种数字类型。计数、金额、坐标、时间戳都标注为 number。

分组基础类型
类型类型
严格模式不需要

ℹ️ 说明 编辑器将 TypeScript 转译为 JavaScript 后运行(不做类型检查);类型检查结果见示例 Output。

📝 语法

let count: number = 42;
let price = 19.99;
let hex = 0xff; // 255

⚙️ 参数

0x / 0b / 0o / 1e5支持十进制、0x 十六进制、0b 二进制、0o 八进制、1e5 科学计数

返回值:无返回值——number 是基础类型注解,不产生任何运行时代码。

▶ 示例

修改下面的代码,点击试一试查看转译运行结果:

输出:

59.97
42 3.5

(转译后运行输出;total 实际是 59.970000000000005,浮点乘法有精度误差)

💡 要点

ℹ️ 说明 JS 没有 int/float 之分,number 都是 IEEE-754 双精度浮点,所以 0.1 + 0.2 !== 0.3。
⚠️ 注意 金额累加不要直接用浮点数:改用"以分为单位的整数"或 decimal 库,只在显示层 toFixed。
💡 提示 parseInt/parseFloat 解析带单位的字符串("42px"、"3.5rem")很好用,解析失败返回 NaN,记得用 Number.isNaN 检查。
更多案例即将上线。

📚 相关教程

❓ 常见问题

Q 0.1 + 0.2 为什么不等于 0.3?
A 因为二进制浮点无法精确表示 0.1 和 0.2,相加结果是 0.30000000000000004。比较浮点数用误差范围判断,或改用整数/decimal 库。
Q number 有上限吗?
A 安全整数范围是 ±(2^53 - 1),即 ±9007199254740991。超出后精度丢失,需要更大或精确的整数时用 bigint。
Q NaN 也是 number 吗?
A 是,typeof NaN === "number"。判断 NaN 不能用 ===(它不等于任何值),要用 Number.isNaN()。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏