JS數據格式化保留兩位小數的多種實現方法總結


JS數據格式化是在進行web前端開發時常碰到的事情,特別是在數據類型為Float的數據就需要特殊處理,如保留兩位小數、小數點后的數據是否需要四舍五入等等。下面就來介紹實現數據格式化保留兩位小數的多種方法。

1、JS自帶的方法toFixed(),toFixed() 方法可把 Number 四舍五入為指定小數位數的數字。

語法:NumberObject.toFixed(num),mun是必需的參數,即規定小數的位數,是 0 ~ 20 之間的值,包括 0 和 20,有些實現可以支持更大的數值范圍。如果省略了該參數,將用 0 代替,所以toFixed() 方法可以實現保留2位、3位、4位等等,取決於num的數值。

返回值:返回 NumberObject 的字符串表示,不采用指數計數法,小數點后有固定的 num 位數字。如果必要,該數字會被舍入,也可以用 0 補足,以便它達到指定的長度。如果 num 大於 le+21,則該方法只調用 NumberObject.toString(),返回采用指數計數法表示的字符串。

當 num 太小或太大時拋出異常 RangeError。0 ~ 20 之間的值不會引發該異常。有些實現支持更大范圍或更小范圍內的值。

當調用該方法的對象不是 Number 時拋出 TypeError 異常。

例子:

<script type=”text/javascript”>
var num = new Number(13.376954);
document.write (num.toFixed(2))
</script>
輸出:13.38

2、自定義函數實現小數保留並四舍五入。

function   roundFun(numberRound,roundDigit)  {    //四舍五入,保留位數為roundDigit
if   (numberRound>=0){
var   tempNumber   =   parseInt((numberRound   *   Math.pow(10,roundDigit)+0.5))/Math.pow(10,roundDigit);
return   tempNumber;
} else{
numberRound1=-numberRound;
var   tempNumber   =   parseInt((numberRound1   *   Math.pow(10,roundDigit)+0.5))/Math.pow(10,roundDigit);
return   -tempNumber;
}
}

然后調用roundFun()這個函數就可以了。如roundFun(’13.376954′,2);當然返回的結果跟第一種方法是一樣的。

3、通過函數截取,截取到小數點后面第幾位,當然這種方法就沒有四舍五入了。

<script type=”text/javascript”>
tmp   =   “13.376954″
result   =   tmp.substr(0,tmp.indexOf(“.”)+2);
alert(result);
</script>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM