JS處理數據四捨五入,tofixed與round的區別

此區別是在作微信端有關綁定設備數據曲線平滑處理的過程當中,進行驗證時候無心發現。

1 、tofixed方法

  toFixed() 方法可把 Number 四捨五入爲指定小數位數的數字。例如將數據Num保留2位小數,則表示爲:toFixed(Num);可是其四捨五入的規則與數學中的規則不一樣,使用的是銀行家舍入規則,銀行家舍入:所謂銀行家舍入法,其實質是一種四捨六入五取偶(又稱四捨六入五留雙)法。具體規則以下:微信

簡單來講就是:四捨六入五考慮,五後非零就進一,五後爲零看奇偶,五前爲偶應捨去,五前爲奇要進一。spa

顯然這種規則不符合咱們日常在數據中處理的方式。爲了解決這樣的問題,能夠自定義去使用Math.round方法進行自定義式 的實現指定保留多少位數據進行處理。數學

2 、 round方法

  round() 方法可把一個數字舍入爲最接近的整數。例如:Math.round(x),則是將x取其最接近的整數。其取捨的方法使用的是四捨五入中的方法,符合數學中取捨的規則。對於小數的處理沒有那麼便捷,可是能夠根據不一樣的要求,進行自定義的處理。方法

例如:對於X進行保留兩位小數的處理,則能夠使用Math.round(X * 100) / 100.進行處理。數據

相關文章
相關標籤/搜索