javascript 舍去小数(截断小数)取整方法

TypeScript 复制代码
console.log(-5.9 >> 0)
console.log(5.9 >>> 0)
console.log(Math.trunc(-5.9))
console.log(Math.floor(-5.9))

-5
5
-5
-6

>> 是有符号右移运算符,-5.9 >> 0 就相当于 -5.9 / 2的0次幂(1)取整,这个取整会直接截断小数。正数负数运行方法不一样。仅适用于32位整数范围内的数值。

>>> 是无符号右移运算符,和 >> 一样,只是在计算正数的时候用。注意:console.log(6 >>> 1) 方式多被用于二分法中,表示 6 / 2 取整的意思。

Math.trunc()‌:ES6引入,直接截断数字的小数部分,返回整数部分,其行为与 >> 对于正数和负数的处理方式一致,但语义更明确,且不受32位整数限制。

‌Math.floor()‌:返回小于或等于给定数字的最大整数,对于负数会向更小的方向取整(例如 Math.floor(-5.9) 结果为 -6),而 >> 会直接截断小数(-5.9 >> 0 结果为 -5)。

相关推荐
kyriewen2 小时前
我把今年流传的前端 AI 面试题整理了一遍——4 类场景题+回答框架(附速查表)
前端·面试·程序员
计算机魔术师2 小时前
国产多模态模型正面硬刚Opus旗舰:差距从30%缩到3%
前端
风骏时光牛马2 小时前
程序员进阶:深度思考,解锁职场成长的底层逻辑
前端
IT_陈寒2 小时前
用了Proxy才发现以前的JavaScript白写了
前端·人工智能·后端
爱丶不疚3 小时前
Eval: Agent 说的 Eval 是什么?从单测、TDD 到 Sentry 聊起
前端·ai编程·vibecoding
求道於盲3 小时前
python中的类型标注
前端
计算机魔术师3 小时前
从硅谷测试到全球铺开,ChatGPT广告的10亿美元秘密
前端
专业抄代码选手4 小时前
08|Fiber 上的 `useState`:状态终于属于具体组件
前端·javascript·react.js
默_笙4 小时前
😭 Vibe Coding 翻车实录:AI 编程为什么必须先写"剧本"
前端·javascript
LEE4 小时前
原来 Claude Code 最厉害的工具,一行代码都不写
前端·后端