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)。

相关推荐
Front思17 小时前
前端的.hbs
前端
laowangpython17 小时前
Rust 入门:GitHub 热门内存安全编程语言
开发语言·其他·rust·github
我叫汪枫17 小时前
在后台管理系统中,如何递归和选择保留的思路来过滤菜单
开发语言·javascript·node.js·ecmascript
_.Switch17 小时前
东方财富股票数据JS逆向:secids字段和AES加密实战
开发语言·前端·javascript·网络·爬虫·python·ecmascript
软件技术NINI17 小时前
webkit简介及工作流程
开发语言·前端·javascript·udp·ecmascript·webkit·yarn
Brendan_00117 小时前
JavaScript的Stomp.over
开发语言·javascript·ecmascript
普通网友17 小时前
ES6模块化、Promise、async、await、EventLoop、API接口案例_export function 与 await
前端·ecmascript·es6
念23417 小时前
f5 shape分析
开发语言·javascript·ecmascript
難釋懷17 小时前
Vue混入
前端·javascript·vue.js
苍穹之跃17 小时前
某量JS逆向
开发语言·javascript·ecmascript