math.trunc()专用于截断小数部分保留整数,不四舍五入、不取整,符号不变;支持隐式转数字,兼容性差时可用x
Math.trunc() 就是专为“直接去掉小数部分、只留整数部分”设计的,不四舍五入、不向上或向下取整,纯粹截断——小数点后所有内容全丢,符号照留。
它怎么工作?
无论正负,一律砍掉小数点及之后的部分:
- Math.trunc(7.9) → 7
- Math.trunc(-7.9) → -7
- Math.trunc(0.123) → 0
- Math.trunc(-0.123) → -0(注意:-0 是合法数值,符号保留)
和其它取整方法的区别
别和 Math.floor / Math.ceil / Math.round 混用:
Javascript Sdk下载用于 inference.sh 的 JavaScript/TypeScript SDK,可运行 AI 应用、构建代理、集成 150+ 模型。包名:@inferencesh/sdk(npm install),完整 TypeScript 支持。
- Math.trunc(-3.8) → -3(只删小数)
- Math.floor(-3.8) → -4(向下取整)
- Math.ceil(-3.8) → -3(向上取整)
- Math.round(-3.8) → -4(四舍五入)
参数支持隐式转数字
传字符串、布尔值等也能用,内部自动调 Number() 转换:
- Math.trunc("15.6") → 15
- Math.trunc(true) → 1(Number(true) === 1)
- Math.trunc(false) → 0
- Math.trunc(null) → 0
- Math.trunc("abc") → NaN(转不了数字)
- Math.trunc(undefined) → NaN
兼容性兜底写法
老环境没 Math.trunc?可手动补丁:
Math.trunc = Math.trunc || function(x) { return x












