您现在的位置是:首页 > Javascript
当前栏目
js四舍五入的函数
2023-03-15 23:16:48 时间
在数据的处理中,我们有着越来越高的简化并且精准的需求,四舍五入是个不错的选择。哪么大家知道js中有哪些函数可以四舍五入吗?今天整理了round和toFixed函数,在四舍五入上都有相关的运用,在此之前我们先简单理解四舍五入的概念,一起来看如下内容。
1.四舍五入概念
因为四舍五入,舍入的数为0时,舍后就是这个数本身,而1-9共9个数,5处于中间,如果5-9都进一,进一的概率是九分之五,而1-4舍去,概率是九分之四,在累加时会使整体误差偏大。
银行家舍入法的具体算法:
四舍六入五考虑,五后非零就进一,
五后为零看奇偶,五前为偶应舍去,五前为奇要进一
2.round函数
round(number,num_digits),number就是要四舍五入的数字了,num_digits呢,就是要进行四舍五入运算的位数。
num_digits大于0,则将数字四舍五入到指定的小数位数
num_digits等于0,数字四舍五入进行取整
num_digits小于0,四舍五入到小数点左边的相应位数
var num = 10.1 console.log(Math.round(num)) // 10 var num2 = 10.6 console.log(Math.round(num2)) // 11
3.toFixed函数
toFixed() 方法可把 Number 四舍五入为指定小数位数的数字,属于银行家舍入法,通俗点就是传入的参数是几,那么我们的小数就保留几位。
//重写toFixed方法 Number.prototype.toFixed=function(len) { var tempNum = 0; var s,temp; var s1 = this + ""; var start = s1.indexOf("."); //截取小数点后,0之后的数字,判断是否大于5,如果大于5这入为1 if(s1.substr(start+len+1,1)>=5) tempNum=1; //计算10的len次方,把原数字扩大它要保留的小数位数的倍数 var temp = Math.pow(10,len); //求最接近this * temp的最小数字 //floor() 方法执行的是向下取整计算,它返回的是小于或等于函数参数,并且与之最接近的整数 s = Math.floor(this * temp) + tempNum; return s/temp; }
以上就是js中关于四舍五入函数的介绍,想更多了解round和toFixed函数,可以看一下之前的文章,这里就不再详细讲解了。更多js学习指路:js教程
相关文章
- Vue3 Teleport 简介,请过目,这个是真的好用!
- 《精通react/vue组件设计》之配合React Portals实现一个功能强大的抽屉组件
- Web前端学习容易吗?Web入门难吗?
- TypeScript 4.2 有哪些新特性?
- 猛增174K Star!前端非常流行的十大超级开源项目
- 奇技淫巧!不规则边框的生成方案
- 使用Javascript和CSS3实现一个转盘小游戏(实战篇)
- 前端工程师如何打发闲余时光?
- 『前端优化』—— Vue中避免滥用this去读取data中数据
- 遍历数组:for、for-in、forEach、for-of
- 一套标准的前端代码工作流
- 一文彻底搞懂JS前端5大模块化规范及其区别
- SpringBoot这些常用注解你该知道
- 从无到有(统计、请求、MVC、模块化)H5开发须知
- 忙里偷闲又把自己的JWT实现改进了一下
- Node.js v15.x 新特性 — 控制器对象 AbortController
- 如何在JavaScript中实现队列数据结构
- Swift Hook 新思路 -- 虚函数表
- 用JavaScript实现队列
- 如何从JavaScript对象中删除属性?