Rumah > Artikel > hujung hadapan web > js的三大舍入函数(round(), ceil() ,floor())的对比
小数经常需要取整,在js给我们提供了三个舍入函数:round(), ceil() ,floor()。他们各自有各自的用途,在日常生活会和科学研究的数据中,经常就要进行四舍五入,这也是我们从小到大遇到最多的舍入取整方式,js的round()函数能满足我们的要求,round的单词本意就有整数的意思,这个也是很好理解的。ceil是天花板的意思,老外特别喜欢形象的表达,我们猜也能猜到,天花板肯定是舍入的时候将小数增加1,而作为地板floor肯定恰恰相反,记得高中数学就有这样的表达取整用符号[],称其为高斯函数。
round():四舍五入
ceil():向上取整
floor():向下取整(高斯函数)
不过,他们各自都有什么用呢?
日常生活中用的最多,比如我们去商城购物,很多商品实际上都是有小数的,但是在付款的时候,经常店家会四舍五入,比如这样的:
<script type="text/javascript"> 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(); </script>
结果:
毛衣的价格:99元 辣条的价格:1.49元 洗发露的价格:29元 T恤的价格:69元 毛笔的价格:17元 26 应付款:215元
但是有的时候商家很抠门,不会给你舍掉那几毛钱,反而让你多付几毛钱:
<script type="text/javascript"> 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(); </script>
结果:
毛衣的价格:99元 辣条的价格:1.49元 洗发露的价格:29元 T恤的价格:69元 毛笔的价格:17元 26 应付款:216元
当然,有的时候商家会很会做生意,给你舍去那几毛钱,既不像第一个那样机械,也不会那样想第2个那样小气。
<script type="text/javascript"> 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(); </script>
结果:
毛衣的价格:99元 辣条的价格:1.49元 洗发露的价格:29元 T恤的价格:69元 毛笔的价格:17元 26 应付款:215元
在实际应用中那三个取整函数,不仅仅只局限于这些生活上的算术问题,实际上是的用法多种多样,比如我们随机抽整数,虽然能利用random得到随机小数,但是我们有的时候也需要整数,这是就需要根据实际需求进行取整。
相关推荐:
Atas ialah kandungan terperinci js的三大舍入函数(round(), ceil() ,floor())的对比. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!