js四捨五入四種實現方法

2021-08-28 12:59:05 字數 1192 閱讀 6173

方法一:

在js中四捨五入的函式 tofixed(n) , n為要保留的小數字數。

n為0~20,當n超過20的時候,js會出錯。

var d=10.005;

var f=d.tofixed(2);

alert(f);

bug:

如果小數點前和要擷取的前一位都是0時,不會按常理擷取。

var h=0.07

h.tofixed(1)的值為0.0

如果要修改這個缺陷,可以把js中的number型別的tofixed方法重寫。

例如:複製****示例:

number.prototype.tofixed = function(d)

)?)\\d*$").test(s))

else break;}

}s=a.join("").replace(new regexp("(\\d+)(\\d)\\d$"),"$1.$2");

}if(b)s=s.substr(1);return (pm+s).replace(/\.$/, "");} return this+"";

};   

這樣就可以修復number型別的tofixed方法。

方法二: 

之前一直在用這個js自帶的tofixed函式來進行四捨五入的操作,可是,在實際使用過程中卻遇到了問題。

比如複製****示例:

var money=0.00542;   

alert(number(money).tofixed(2));   

以上結果是錯誤的,下面的方法通過巧妙的使用math.round函式,完全可以解決數值很小時的精度問題。

複製****示例:

var money=0.00542;   

alert(number(money).tofixed(2));   

function round2(number,fractiondigits)   

}   

alert(round2(money,2)); 

round 方法

返回與給出的數值表示式最接近的整數。

math.round(number)

必選項 number 引數是要捨入到最接近整數的值。

說明如果 number 的小數部分大於等於 0.5,返回值是大於 number 的最小整數。

否則,round 返回小於等於 number 的最大整數。

js 四捨五入

round 四捨五入為整數 本節內容 js實現四捨五入的 方法一 在js中四捨五入的函式 tofixed n n為要保留的小數字數。n為0 20,當n超過20的時候,js會出錯。var d 10.005 var f d.tofixed 2 alert f bug 如果小數點前和要擷取的前一位都是0時...

js四捨五入

寫法巨強的四捨五入的轉換函式,如下 function round v,e 在感嘆js強大的同時,也感嘆一下自己的無知!引數裡的 v表示要轉換的值 e表示要保留的位數 函式裡的兩個for,這個是重點了,第乙個for針對小數點右邊的情況,也就是保留小數點右邊多少位 第二個for針對小數點左邊的情況,也就...

JS中四捨五入

在js中四捨五入的函式 tofixed n n為要保留的小數字數。n為0 20,當n超過20的時候,js會出錯。var d 10.005 var f d.tofixed 2 alert f 或者用 new number d tofixed 2 bug 如果小數點前和要擷取的前一位都是0時,不會按常理...