原生 javascript 中四捨五入的函數 toFixed(n) , n為要保留的小數位數。 (0<= n <=20)
復制代碼 代碼如下:
var num=1.0999;
console.log(num.toFixed(20));
http://jsfiddle.net/14x0vhu6/
輸出值不是預想的1.0999,而是 1.09990000000000009983,這點需要注意,至於原因有待完善。
另外在不同的浏覽器版本中,如果小數點前和要截取的前一位都是0時,可能出現不按常理截取的情況。
復制代碼 代碼如下:
var num=0.07;
console.log(num.toFixed(1));
http://jsfiddle.net/ogwnw2j3/
值可能為0.0
處理的方法是使用toFixed方法之前加1,使用之後再減1。
復制代碼 代碼如下:
var number=0.07
var fixNum = new Number(number + 1).toFixed(1);//四捨五入之前加1
var fixedNum = new Number(fixNum - 1).toFixed(1);//四捨五入之後減1,再四捨五入一下
console.log(fixedNum);
http://jsfiddle.net/euvn0L1g/