首页 > 其他分享 >~~和Math.floor有什么区别?

~~和Math.floor有什么区别?

时间:2024-12-20 09:30:38浏览次数:6  
标签:返回 区别 floor 4.9 取整 向下 Math

在前端开发中,~~Math.floor 都可以用于取整,但它们的工作原理和结果在某些情况下是不同的。

  1. ~~ 操作符

    • ~~ 是一个双位非操作符,它首先对一个数字进行一次位非操作,然后再进行一次。这个操作的效果是将浮点数转换为整数,但它并不是简单的向下取整,而是向零取整。也就是说,对于正数,它会向下取整,对于负数,它会向上取整。这种行为类似于 JavaScript 的 Math.trunc 函数。
    • 例子:~~4.9 会返回 4~~-4.9 会返回 -4
  2. Math.floor 函数

    • Math.floor 是一个 JavaScript 内置函数,用于对一个数进行向下取整。也就是说,它会返回不大于一个给定数字的最大整数。
    • 例子:Math.floor(4.9) 会返回 4Math.floor(-4.9) 会返回 -5

主要区别

  • 对于正数,~~Math.floor 的效果是相同的,都会向下取整。
  • 对于负数,~~ 是向零取整,而 Math.floor 是向下取整。这是两者之间的主要区别。

在前端开发中,选择使用哪种方法取决于你的具体需求。如果你需要始终向下取整,无论数字是正还是负,那么应该使用 Math.floor。如果你需要向零取整,那么可以使用 ~~Math.trunc(如果你的环境支持这个函数)。

标签:返回,区别,floor,4.9,取整,向下,Math
From: https://www.cnblogs.com/ai888/p/18618418

相关文章

  • 【后端面试总结】深入解析进程和线程的区别
    在操作系统和并发编程中,进程和线程是两个核心概念。它们各自承担着不同的职责,并在多任务处理中发挥着关键作用。本文将从定义、特性、应用场景以及优缺点等多个方面对进程和线程进行详细对比,帮助读者深入理解它们之间的区别。一、进程和线程的定义进程(Process)进程是计算......
  • 使用频谱分析仪:RBW,Res BW,分辨率带宽;Sweep,扫描;noise floor,底噪,如何降低底噪?
    RBW与Sweep的定义及其特性阐述:ResBW,即ResolutionBandwidth(分辨率带宽),是衡量仪器分辨信号细节能力的重要参数。当RBW的数值越小,意味着像素点的尺寸更为精细,从而能够观察到更为细微的信号特征。Sweep,则指的是扫描时间,它直接关联到信号的刷新速率。具体而言,Sweep时间的增长会......
  • 深入理解C语言和C++中struct的区别
    大家好!我是兔飞飞!今天学习struct结构体,主要从c语言和c++的对比出发,这样更好辨析,应该大部分人都是先学c语言,再学的c++?1.C中struct的特点在C中,struct主要是用来定义一个包含多个数据成员的数据结构。结构体在C中只能包含数据成员,而不能包含函数。以下是C中struct......
  • MATH GR5280, Capital Markets & Investments
    MATHGR5280,CapitalMarkets&InvestmentsStartdate:12/7/2024Duedate:12/21/20241FinalProjectNote:AllfilesandinformationrelatedtothefinalprojectareuploadedintotheModulesstartingwith“FinalProject”prefixonCourseWorks.The......
  • dracut 与initramfs-tools 区别
      initrd与initramfs  dracut与initramfs-tools的区别dracut 和 initramfs-tools 都是用于生成initramfs(初始RAM文件系统)的工具,但它们在设计理念、功能和使用方法上有一些显著的区别。dracutdracut 是下一代的initramfs系统,与传统的 mkinitrd 相比,它......
  • MySQL中EXPLAIN的Extra字段值Using index 或 Using index,Using where 或 Using where
    MySQL的架构分成了server层和存储引擎层(storageengine),server层通过调用存储引擎层来返回数据。1.Usingindex表示查询的列被索引覆盖,因而无需回表查询,因而效率更高。2.Usingindex,Usingwhere表示查询的列被索引覆盖,且where筛选条件是索引列前导列的一个范围,或者是索引列的......
  • 大数据 | 数据采集与输入核心技术与应用深度解析,Flume/ NiFi/ Kafka/ Sqoop/ Denodo区
    大数据处理的第一步是数据的采集与输入。无论是用于批量处理还是实时分析,数据的采集过程都是整个大数据生命周期的基础。数据采集不仅需要高效、实时地从不同来源获取数据,还需要能够处理各种形式的数据,确保其质量和一致性。采集的数据通常来自多个源头,例如传感器数据、系统日志......
  • Instant 和 LocalDateTime 有什么区别?
    我知道那件事:Instant是一种用于计算的“技术”时间戳表示形式(纳秒)。LocalDateTime是日期/时钟表示形式,包括人类的时区。尽管如此,最终IMO都可以作为大多数应用程序用例的类型。例如:当前,我正在运行一个批处理作业,我需要根据日期计算下一次运行,并且我正在努力寻找这两种类型之......
  • Linux中,使用 ./ 和 sh 执行脚本的区别是什么
    这些区别主要体现在执行环境、权限要求和子进程管理等方面一.可执行权限(不一样)./:使用./script.sh执行脚本时,脚本必须具有可执行权限。这意味着你需要先使用chmod+xscript.sh命令来赋予脚本执行权限。chmod+xscript.sh./script.shsh:使用shscript.sh执行脚......
  • 信创适配证书、兼容性互认证书、信创产品认证证书有什么区别?
    一、三种信创证书有哪些区别?1、信创适配认证证书:发证单位:由适配中心发放;目的:证明产品在信创环境中可以安装和卸载,即证明产品“能不能用”。性质:属于企业之间的证书,主要是证明产品基本可用性。2、兼容性互认证书:常见厂商:如鲲鹏、麒麟等。目的:针对特定CPU或操作系统,证明......