小數經常需要取整,在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得到隨機小數,但是我們有的時候也需要整數,這是就需要根據實際需求進行取整。
相關推薦:
以上是js的三大捨入函數(round(), ceil() ,floor())的對比的詳細內容。更多資訊請關注PHP中文網其他相關文章!