小数经常需要取整,在js给我们提供了三个舍入函数:round(), ceil() ,floor()。他们各自有各自的用途,在日常生活会和科学研究的数据中,经常就要进行四舍五入,这也是我们从小到大遇到最多的舍入取整方式,js的round()函数能满足我们的要求,round的单词本意就有整数的意思,这个也是很好理解的。ceil是天花板的意思,老外特别喜欢形象的表达,我们猜也能猜到,天花板肯定是舍入的时候将小数增加1,而作为地板floor肯定恰恰相反,记得高中数学就有这样的表达取整用符号[],称其为高斯函数。
round():四舍五入
ceil():向上取整
floor():向下取整(高斯函数)
不过,他们各自都有什么用呢?
round()
日常生活中用的最多,比如我们去商城购物,很多商品实际上都是有小数的,但是在付款的时候,经常店家会四舍五入,比如这样的:
- function gro(){var a=new Array();a[0]=99;a[1]=1.49;a[2]=29;a[3]=69;a[4]=17;console.log("毛衣的价格:"+a[0]+"元");console.log("辣条的价格:"+a[1]+"元");console.log("洗发露的价格:"+a[2]+"元");console.log("T恤的价格:"+a[3]+"元");console.log("毛笔的价格:"+a[4]+"元");var sum=0;for(var i=0;i<5;i++){sum+=a[i];}//收钱console.log("应付款:"+Math.round(sum)+"元");}gro();
登录后复制
结果:
- 毛衣的价格:99元辣条的价格:1.49元洗发露的价格:29元T恤的价格:69元毛笔的价格:17元26 应付款:215元
登录后复制登录后复制
ceil()
但是有的时候商家很抠门,不会给你舍掉那几毛钱,反而让你多付几毛钱:
- function cei(){var a=new Array();a[0]=99;a[1]=1.49;a[2]=29;a[3]=69;a[4]=17;console.log("毛衣的价格:"+a[0]+"元");console.log("辣条的价格:"+a[1]+"元");console.log("洗发露的价格:"+a[2]+"元");console.log("T恤的价格:"+a[3]+"元");console.log("毛笔的价格:"+a[4]+"元");var sum=0;for(var i=0;i<5;i++){sum+=a[i];}//收钱console.log("应付款:"+Math.ceil(sum)+"元");}cei();
登录后复制
结果:
- 毛衣的价格:99元辣条的价格:1.49元洗发露的价格:29元T恤的价格:69元毛笔的价格:17元26 应付款:216元
登录后复制
floor()
当然,有的时候商家会很会做生意,给你舍去那几毛钱,既不像第一个那样机械,也不会那样想第2个那样小气。
- function flo(){var a=new Array();a[0]=99;a[1]=1.49;a[2]=29;a[3]=69;a[4]=17;console.log("毛衣的价格:"+a[0]+"元");console.log("辣条的价格:"+a[1]+"元");console.log("洗发露的价格:"+a[2]+"元");console.log("T恤的价格:"+a[3]+"元");console.log("毛笔的价格:"+a[4]+"元");var sum=0;for(var i=0;i<5;i++){sum+=a[i];}//收钱console.log("应付款:"+Math.floor(sum)+"元");}flo();
登录后复制
结果:
- 毛衣的价格:99元辣条的价格:1.49元洗发露的价格:29元T恤的价格:69元毛笔的价格:17元26 应付款:215元
登录后复制登录后复制
在实际应用中那三个取整函数,不仅仅只局限于这些生活上的算术问题,实际上是的用法多种多样,比如我们随机抽整数,虽然能利用random得到随机小数,但是我们有的时候也需要整数,这是就需要根据实际需求进行取整。
相关推荐:
JavaScript进阶(五)js中取小数整数部分函数
JavaScript高级程序设计介绍
以上就是js的三大舍入函数(round(), ceil() ,floor())的对比的详细内容,更多请关注【创想鸟】其它相关文章!