| 導購 | 订阅 | 在线投稿
分享
 
 
 

JavaScript四舍五入

來源:互聯網  2008-11-06 07:16:20  評論

用以下代碼實現頁面上javascript的四舍五入

<script>

function ForDight1(Dight,How) {

Dight =(Dight*Math.pow(10,How)/Math.pow(10,How)).toFixed(How);

return Dight;

}

function ForDight2(Dight,How) {

Dight =Math.round (Dight*Math.pow(10,How))/Math.pow(10,How);

return Dight;

}

alert(ForDight1(1067.34357,3));

alert(ForDight2(1067.34457,3));

</script>

上面的腳本執行之後,發現兩個函數的結果一樣,都可以進行四舍五入的處理。推薦使用第一種方式哦,因爲js的計算是使用二進制的,精度有問題。使用第二種方式,在某些特殊的數字處理的時候,可能會有問題。在上例中增加alert語句,增加alert(ForDight1(69451.385,2));alert(ForDight2(69451.385,2));alert(ForDight1(69451.305,2));alert(ForDight2(69451.305,2));再運行看看結果吧...看完結果之後,相信你也會采用第一種方式來進行JS的四舍五入運算的

這樣就萬事大吉了?NO...不信你再試試alert(ForDight1(0.056,1)); 照理說應該是0.1,可是結果是0.0 沒轍了,只能重寫toFixed,代碼中再增加一段

Number.prototype.toFixed=function(len)

{

var add = 0;

var s,temp;

var s1 = this + "";

var start = s1.indexOf(".");

if(s1.substr(start+len+1,1)>=5)add=1;

var temp = Math.pow(10,len);

s = Math.floor(this * temp) + add;

return s/temp;

}

好了,這樣再試試 嘿嘿,沒問題了吧?

用以下代碼實現頁面上javascript的四舍五入 <script> function ForDight1(Dight,How) { Dight =(Dight*Math.pow(10,How)/Math.pow(10,How)).toFixed(How); return Dight; } function ForDight2(Dight,How) { Dight =Math.round (Dight*Math.pow(10,How))/Math.pow(10,How); return Dight; } alert(ForDight1(1067.34357,3)); alert(ForDight2(1067.34457,3)); </script> 上面的腳本執行之後,發現兩個函數的結果一樣,都可以進行四舍五入的處理。推薦使用第一種方式哦,因爲js的計算是使用二進制的,精度有問題。使用第二種方式,在某些特殊的數字處理的時候,可能會有問題。在上例中增加alert語句,增加alert(ForDight1(69451.385,2));alert(ForDight2(69451.385,2));alert(ForDight1(69451.305,2));alert(ForDight2(69451.305,2));再運行看看結果吧...看完結果之後,相信你也會采用第一種方式來進行JS的四舍五入運算的 這樣就萬事大吉了?NO...不信你再試試alert(ForDight1(0.056,1)); 照理說應該是0.1,可是結果是0.0 沒轍了,只能重寫toFixed,代碼中再增加一段 Number.prototype.toFixed=function(len) { var add = 0; var s,temp; var s1 = this + ""; var start = s1.indexOf("."); if(s1.substr(start+len+1,1)>=5)add=1; var temp = Math.pow(10,len); s = Math.floor(this * temp) + add; return s/temp; } 好了,這樣再試試 嘿嘿,沒問題了吧?
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有