专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

js怎么取整,js取整方法有哪些

来源:小易整编  作者:小易  发布时间:2022-12-28 11:24
摘要:js怎么取整,js取整方法有哪些。在JavaScript实际开发过程中,经常会遇到数字取整的问题。本篇文章收集了一些方法,有需要的朋友赶紧收藏起来吧!01直接取整直接取整,顾名思义只取整数部分,小数部分就直接舍去。(1)parseInt()...

js怎么取整,js取整方法有哪些。在 JavaScript 实际开发过程中,经常会遇到数字取整的问题。本篇文章收集了一些方法,有需要的朋友赶紧收藏起来吧!

js怎么取整,js取整方法有哪些

01直接取整

直接取整,顾名思义只取整数部分,小数部分就直接舍去。

(1)parseInt()

parseInt() 函数解析一个字符串参数,并返回一个指定基数的整数。

parseInt("2022abc"); //2022parseInt(""); // NaNparseInt("0xC"); // 12  十六进制parseInt(22.06); // 22parseInt(-22.06); // 22parseInt("030"); // 30 八进制

(2) Math.trunc()

Math.trunc() 方法会将数字的小数部分去掉,只保留整数部分。

Math.trunc(10.15); // 10Math.trunc(35.13); // 35Math.trunc(0.123); // 0Math.trunc(-0.123); // -0Math.trunc("-3.1415"); // -3Math.trunc(NaN); // NaNMath.trunc("foo"); // NaNMath.trunc(); // NaN

02快速取整

除了以上两个直接取整方法,我们也可以运用按位运算符来实现数字取证。所有的按位运算符都是以带符号的 32 位整数进行。使用它们可以将浮点型转换为整数。但这里面也存在一个问题,取整的数字有一个安全范围 ±2^31-1,即2147483647。

(1)~~number

双波浪线 ~~ 操作符也被称为双按位非操作符。通常,可以用它来代替 Math.trunc() 方法。

~~35.12 // 35~~3.33333 // 3~~5 // 5~~[] // 0~~NaN // 0~~null // 0// 异常情况~~2147483648.123 // -2147483648

(2) number丨0

丨(按位或)对每一对比特位执行或(OR)操作

35.12|0 // 35-35.12|0 // -352000000000000.15|0 // -1454759936

(3) number^0

^(按位异或),对每一对比特位执行异或(XOR)操作。

35.12^0 // 35-35.12^0 // -352000000000000.15^0 // -1454759936

(4) number<<0

<<(左移)操作符会将第一个操作数向左移动指定的位置。向左被移出的位被丢弃,右侧用0补充。

35.12<<0 // 35-35.12<<0 // -352000000000000.15<<0 // -1454759936

以上快速取整方法执行很快,即便当你执行数百万这样的操作仍然非常使用,速度明显优于其他方法。但这样有一个缺点,就是代码的可读性差。还要注意一个点,当处理一个特别大的数字时,会有一些异常情况。因此,在使用的时候要明确检查输入数值的范围。

03舍入舍去取整

当然以上直接去除小数点有时候还不满足我们的实际开发需求,有时候需要对小数进行四舍五入。在JavaScript中,Math对象提供了以下三种方法。

(1)四舍五入

Math.round() 是将数值四舍五入为最相近的整数。

Math.round(3.1) // 3Math.round(5.5) // 6Math.round(5.9) // 6Math.round(-3.1) // -3Math.round(-5.5) // -5Math.round(-5.9) // -6

(2)向下取整

Math.floor() 是取向下最近的整数。

Math.floor(3.1) // 3Math.floor(5.5) // 5Math.floor(5.9) // 5Math.floor(-3.1) // -4Math.floor(-5.5) // -6Math.floor(-5.9) // -6

(3)向上取整

Math.ceil() 是取向上最近的整数。

Math.ceil(3.1) // 4Math.ceil(5.5) // 6Math.ceil(5.9) // 6Math.ceil(-3.1) // -3Math.ceil(-5.5) // -5Math.ceil(-5.9) // -5

结尾

以上就是介绍JavaScript中常用的数字取整方法的内容


本文地址:百科问答频道 https://www.neebe.cn/wenda/886412.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


百科问答
小编:小易整编
相关文章相关阅读
  • JS 字符串转数组

    JS 字符串转数组

    JS中,将一个字符串转置为数组,使用到的方法是split(),通过使用split()方法,可以轻松的将一个字符串转换为数组操作方法01新建一个HTML文档,用于承载JS02...

  • doT.js是什么

    doT.js是什么

    doT.js是一个JavaScript模板框架,在web前端使用dot.js作为模板引擎,主要的用途就是,在写好的模板上,放进数据,生成含有数据的html代码。doT.js是一个JavaScript模板框架,在web前端使用do...

  • JsRender是什么

    JsRender是什么

    JsRender是jQuery模板,专为高性能的纯字符串渲染而优化,无需DOM和其他jQuery依赖。允许定义一次样板结构并重复使用它来动态生成HTML。JsRender是jQuery模板,专为高性能的纯字符串渲染而优...

  • js代码大全,常用js代码代码示例

    js代码大全,常用js代码代码示例

    js代码大全,常用js代码代码示例做为开发过React/ReactNative的工程师,在刚开始接触Flutter开发的时候,一定会遇到这种情况,对于某个功能你能很熟练使用特定Javascript语法去完成,但是对于Flutter开发,对应...

  • jstl是什么,JSP标准标签库jstl

    jstl是什么,JSP标准标签库jstl

    jstl是什么,JSP标准标签库jstlJSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。除了这些,它还提供了一...

  • js教程,JavaScript学习入门教程

    js教程,JavaScript学习入门教程

    js教程,JavaScript学习入门教程JavaScript(通常缩写为JS)是一种解释型、面向对象、多范式的高级编程语言。它被世界上的绝大多数网站所使用,也被世界主流浏览器(Chrome、IE、Firefox、Safari、Opera)...

  • jscript和javascript的区别

    jscript和javascript的区别

    JavaScript与JScript的区别JScript是Microsoft公司开发的,Javascript是Netscape公司开发的,虽然他们是死对头,但是在现在的浏览器中,无论你把语言指定为Javascript还是Jscript,浏览...

  • jsp内置对象有哪些,jsp的内置对象与应用

    jsp内置对象有哪些,jsp的内置对象与应用

    jsp内置对象有哪些,jsp的内置对象与应用虽然Jsp已经是中古时期的技术了,但是对于很多新入门的程序员来说,学会Jsp不仅是了解JavaEE设计原理的重要环节,也是了解现在盛行的前后端分离技术的源流的基础。而且,很多程序员可能会接触到的一...

  • 周排行
  • 月排行
  • 年排行

精彩推荐