javascript
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>
總結
以上是生活随笔為你收集整理的JS数据格式化保留两位小数的多种实现方法总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IE8补充前后缀快捷键
- 下一篇: gradle idea java ssm