(num/num1).toFixed(2)//不精准
toFixed() 方法可把 Number 四舍五入為指定小數位數的數字。例如將數據Num保留2位小數,則表示為:toFixed(Num);但是其四舍五入的規則與數學中的規則不同,使用的是銀行家舍入規則,銀行家舍入:所謂銀行家舍入法,其實質是一種四舍六入五取偶(又稱四舍六入五留雙)法。具體規則如下:
簡單來說就是:四舍六入五考慮,五后非零就進一,五后為零看奇偶,五前為偶應舍去,五前為奇要進一。
顯然這種規則不符合我們平常在數據中處理的方式。為了解決這樣的問題,可以自定義去使用Math.round方法進行自定義式 的實現指定保留多少位數據進行處理。
精准:
/*Javascript設置要保留的小數位數,四舍五入。
*ForDight(Dight,How):數值格式化函數,Dight要格式化的 數字,How要保留的小數位數。
*這里的方法是先乘以10的倍數,然后去掉小數,最后再除以10的倍數。
*/
function ForDight(Dight,How){
Dight = Math.round(Dight*Math.pow(10,How))/Math.pow(10,How);
return Dight;
}