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

相关推荐
lichenyang45311 小时前
让 VK 小程序调用 HarmonyOS 原生能力:一次跨端 Bridge SDK 的设计与实践
前端
阳光宅男@李光熠11 小时前
【电子通识】一起学习TDK的EMC基础——电池兼容设计方法概述
java·前端·数据库
边境悍匪12 小时前
蜗牛学苑 Java 智能体学习 Day45|Knife4j+SpringBoot3、书城项目整合 MyBatis 思维导图复盘
java·开发语言·vue.js·学习·spring
我的xiaodoujiao12 小时前
Django 基础知识详细图文教程 9-Django 模板引擎 2
开发语言·数据库·后端·django
菜鸟~noob23312 小时前
【太空电子战】从CCS到Meadowlands:反通信系统的二十年演进史【含matlab代码】
开发语言·matlab
南雨北斗12 小时前
vue3项目中的env.d.ts文件
前端
烈风逍遥12 小时前
第五篇:通用 LLM 流式对话:前后端联接的完整实现
前端·后端·架构
aixingpan12 小时前
aixingpan.cn API开发文档:api_docs_trichart_natal_progression_sec_transit2接口指南
前端·php
江华森12 小时前
Web 安全实战:验证机制、会话管理、SQL 注入、XSS 与 CSRF
前端
江华森12 小时前
HTTPS 实战:TLS 握手成本、自制 CA 与证书、三大常见故障
前端