1. 程式人生 > >js的三大舍入函式(round(), ceil() ,floor())的對比

js的三大舍入函式(round(), ceil() ,floor())的對比

   小數經常需要取整,在js給我們提供了三個舍入函式:round(), ceil() ,floor()。他們各自有各自的用途,在日常生活會和科學研究的資料中,經常就要進行四捨五入,這也是我們從小到大遇到最多的舍入取整方式,js的round()函式能滿足我們的要求,round的單詞本意就有整數的意思,這個也是很好理解的。ceil是天花板的意思,老外特別喜歡形象的表達,我們猜也能猜到,天花板肯定是舍入的時候將小數增加1,而作為地板floor肯定恰恰相反,記得高中數學就有這樣的表達取整用符號[],稱其為高斯函式。

  • round():四捨五入
  • ceil():向上取整
  • floor():向下取整(高斯函式)

        不過,他們各自都有什麼用呢?

round()

    日常生活中用的最多,比如我們去商城購物,很多商品實際上都是有小數的,但是在付款的時候,經常店家會四捨五入,比如這樣的:

<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元

ceil()

但是有的時候商家很摳門,不會給你舍掉那幾毛錢,反而讓你多付幾毛錢:

<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元

 floor()

  當然,有的時候商家會很會做生意,給你捨去那幾毛錢,既不像第一個那樣機械,也不會那樣想第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得到隨機小數,但是我們有的時候也需要整數,這是就需要根據實際需求進行取整。