先介绍几种基本方法。

1.toFixed()方法

toFixed() 方法是属于 Number 对象的方法,可以把 Number 四舍五入到指定的小数位数,括号内为小数位数,范围为0~20,为0时即取整数。

1.5.toFixed(0) //返回2

toFixed()方法是平时使用最多的方法,因为它不仅可以取整,还可以保留指定小数位数,适用范围较广。

2.parseInt()方法

parseInt()直接舍弃掉小数部分,只取整数:

parseInt(1.5) //返回1

3.Math函数

Math函数共有3种:

  1. Math.ceil()方法,向上取整:
    Math.ceil(1.5) //返回2
  2. Math.floor()方法,向下取整:
    Math.ceil(1.5) //返回1
  3. Math.round()方法,四舍五入:
    Math.ceil(1.5) //返回2

上面的3种方法大家应该都知道并且使用过,而位运算大概是使用最少的方法了,但其实位运算符使用十分方便,而且可以使代码更简洁。

4.位运算

这里介绍两种位运算方法。

1.非运算“~”

“~”的作用是将数字转化32位有符号整数并按位取反:

~1.5 //返回-2

因此,双波浪线的写法就可以把数字的小数部分舍弃,转换为整数:

~~1.5 //返回1

在数字转换为32位整数不会溢出的情况下可以使用,相当于Math.floor()方法。

2.或运算“|”

“|”的作用是对数字的二进制形式的每一位进行运算,有一个为1即返回1,都为0时返回0,因此将一个数字与0进行或运算时即有如下效果:

1.5|0 //返回1

位或0运算是将数字转换为整数的写法中速度最快的方法。需要注意的是,这两种方法都是直接将小数舍弃。

实际上,位或1也可以起到小数化整的效果,但有意思的是,与1进行或运算时,数字的个位数会影响到取整的结果。比如“10.5|1”结果是11,“11.5|1结果也是11”,不难看出,个位数是奇数时,直接舍弃掉小数位,个位数是偶数时,舍弃掉小数位并+1。至于其中缘由,有兴趣的可以去看看位运算的具体过程,毕竟本篇讲的是小数取整的方法,在此就不展开了。

本文完,感谢阅读。

JS你所不知的小数取整方法的更多相关文章

  1. Javascript小数取整方法收集

    1.丢弃小数部分,保留整数部分 parseInt(7/2) 2.向上取整,有小数就整数部分加1 Math.ceil(7/2) 3.四舍五入 Math.round(7/2) 4.向下取整 Math.fl ...

  2. Javascript-数值运算 保留小数点位数,并对最后一位小数各种取整方法

    今天遇到Javascript数值运算的坑,说到底,还是用得少啊.得多用多敲代码多遇坑. 先介绍以下三个Javascript number取整运算方法. Math.floor() 对一个数退一取整 例: ...

  3. js 小数取整,js 小数向上取整,js小数向下取整

    js 小数取整,js 小数向上取整,js小数向下取整 >>>>>>>>>>>>>>>>>>& ...

  4. js中对小数取整

    js中对小数取整的函数,需要的朋友可以参考下.   1.丢弃小数部分,保留整数部分 js:parseInt(7/2) 2.向上取整,有小数就整数部分加1 js: Math.ceil(7/2) 3,四舍 ...

  5. js中Math.round、parseInt、Math.floor和Math.ceil小数取整总结(转)

    js中Math.round.parseInt.Math.floor和Math.ceil小数取整总结 Math.round.parseInt.Math.floor和Math.ceil 都可以返回一个整数 ...

  6. 关于RecylerView:1.在ScrollView的RecylerView滑动事件的处理。2.item之间的距离 小数取整

    1.在ScrollView的RecylerView滑动事件的处理. 在布局文件中在RecylerView外包裹一层相对布局 2.RecylerView item之间的距离 (1)编写SpaceItem ...

  7. js 为何范围内随机取整要用floor,而不是ceil或者round呢

     壹 ❀ 引 我在如何使用js取任意范围内随机整数这篇博客中,列举并分析了取[n,m)与[n,m]范围内整数的通用方法,并在文章结果留了一个疑问:为什么通用方法中取整操作,我们使用Math.floor ...

  8. C语言的几种取整方法

    C语言的几种取整方法 来源:http://blog.sina.com.cn/s/blog_4c0cb1c001013ha9.html 1.直接赋值给整数变量.如: int i = 2.5; 或 i = ...

  9. JavaScript四种数值取整方法

    一.Math.trunc() 1.定义 Math.trunc()方法去除数字的小数部分,保留整数部分. 2.语法 Math.trunc(value) 3.示例 console.log(Math.tru ...

随机推荐

  1. spring的xml文件的作用与实现原理

    1.Spring读取xml配置文件的原理与实现 https://www.cnblogs.com/wyq178/p/6843502.html 2.首先使用xml配置文件的好处是参数配置项与代码分离,便于 ...

  2. ElasticSearch研究

    前言 ​ ES相关技术文档,很久之前看的,一门技术时间长不去研究就会容易忘了,应有些小伙伴的要求希望我做一期ES技术专栏,我就把以前看过的相关文档整理整理,给大家分享下. 1 ElasticSearc ...

  3. sqlsugar入门(1)-初识sugar正确打开sugar的方式

    1.实例化DB public static SqlSugarClient GetDB(string s) { var ssc = new SqlSugarClient(new ConnectionCo ...

  4. js——事件循环

    JS-事件循环 js运行的环境称之为宿主环境. 执行栈 :call stack ,一个数据结构,用于存放各种函数的执行环境,每一个函数执行之前他的相关信息会加入到执行栈中,函数调用之前,创建执行环境, ...

  5. c#导入文件

    string[] lines = System.IO.File.ReadAllLines(@"C:\Users\Administrator\Desktop\2.txt",Encod ...

  6. c#mysql数据库

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  7. 10 XSRF和XSS

    10 XSRF和XSS CSRF(Cross-site request forgery)跨站请求伪造 XSS(Cross Site Scripting)跨站脚本攻击 CSRF重点在请求,XSS重点在脚 ...

  8. 【译】关于Rust模块的清晰解释

    原文链接: http://www.sheshbabu.com/posts/rust-module-system/ 原文标题: Clear explanation of Rust's module sy ...

  9. 《.NET 5.0 背锅案》第2集:码中的小窟窿,背后的大坑,发现重要嫌犯 EnyimMemcachedCore

    在第1集的剧情中,主角是".NET 5.0 正式版 docker 镜像",它有幸入选第1位嫌疑对象,不是因为它的嫌疑最大,而是它的验证方法最简单,只需要再进行一次发布即可.我们在周 ...

  10. 邻居子系统1.5 neigh output

    1.5.1 当邻居项不处于NUD_CONNECTD状态时,不允许快速路径发送报文,函数neigh_resolve_output 用于慢而安全的输出,通常用初始化neigh_ops结构 来实例outpu ...