javascript中小数转整数需据需求选方法:math.floor()向下取整,math.ceil()向上取整,math.round()四舍五入,位运算符或math.trunc()向零截断。
javascript 中将 number 类型的小数转为整数,核心在于明确“怎么转”——是向下取整、四舍五入、截断小数,还是向零取整?不同方法行为不同,选错容易出 bug。
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
Math.floor():向下取整(≤ 原数的最大整数)
对正数相当于去掉小数部分,对负数则更小(比如 Math.floor(-3.7) 得 -4)。适合需要“不超过原值”的场景,如分页计算总页数:
Math.floor(10.9) → 10
Math.floor(-2.1) → -3
Math.ceil():向上取整(≥ 原数的最小整数)
与 floor 相反,常用于“至少需要多少份”的计算,比如按每份 5 条分组时算最少分几组:
Math.ceil(4.1) → 5
Math.ceil(-1.9) → -1
Math.round():四舍五入(0.5 向上)
最接近的整数;遇 .5 时向正无穷方向取(Math.round(2.5) 是 3,Math.round(-2.5) 是 -2)。注意这不是“银行家舍入”,有精度风险:
Math.round(3.4) → 3
Math.round(3.5) → 4
Math.round(-3.5) → -3
位运算符(如 ~~、|0):向零截断
利用 JavaScript 位运算自动转 32 位有符号整数的特性,直接丢弃小数部分(类似 Math.trunc()):
~~3.9 → 3
~~-3.9 → -3
3.9 | 0 → 3
-3.9 | 0 → -3
⚠️ 注意:只适用于安全整数范围内(-2³¹ 到 2³¹−1),超范围或 NaN 会出错。
推荐优先用 Math.trunc()
ES6 新增,语义清晰:直接去除小数部分,不四舍五入也不考虑正负方向,就是“截断”:
Math.trunc(4.7) → 4
Math.trunc(-4.7) → -4
Math.trunc(0.1) → 0
兼容性良好(现代浏览器和 Node.js 都支持),可读性强,无副作用。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










