DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript綜合知識 >> js toFixed()方法的重寫實現精度的統一
js toFixed()方法的重寫實現精度的統一
編輯:JavaScript綜合知識     

 凡用過js 中的toFix() 方法的, 應該都知道這個方法存在一個小小的BUG,在IE 下和FF 下對於小數的進位有點不同

但凡用過js 中的toFix() 方法的, 應該都知道這個方法存在一個小小的BUG。  在IE 下和FF 下對於小數的進位有點不同。  例如( 0.005)在ie 下 toFix(2)=0.00. 在FF 下 toFix(2)=0.01.  這樣就會造成數據的差異。  我們可以通過 重寫 這個方法來實現精度的統一。   代碼如下: Number.prototype.toFixed = function(s)  {  return (parseInt(this * Math.pow( 10, s ) + 0.5)/ Math.pow( 10, s )).toString();  }    但是這樣做仍然有一個問題, 在所有的浏覽器下, String("0.050").toFix(2)=0.1  我們可以看到這樣你原本要保留兩位小數卻變成了一位。 也就是說。這個重寫只有的toFixed() 會自動捨棄最後的0.  我們需要對這個方法做進一步的處理。   代碼如下: Number.prototype.toFixed = function(s)  {  changenum=(parseInt(this * Math.pow( 10, s ) + 0.5)/ Math.pow( 10, s )).toString();  index=changenum.indexOf(".");  if(index<0&&s>0){  changenum=changenum+".";  for(i=0;i<s;i++){  changenum=changenum+"0";  }    }else {  index=changenum.length-index;  for(i=0;i<(s-index)+1;i++){  changenum=changenum+"0";  }    }    return changenum;  }   
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved