首頁 web前端 js教程 JS中toFixed()方法所引起的問題如何解決_javascript技巧

JS中toFixed()方法所引起的問題如何解決_javascript技巧

May 16, 2016 pm 05:48 PM
js

最近發現JS當中toFixed()方法存在一些問題,採用原生的Number對象的原型對像上的toFixed()方法時,規則並不是所謂的“四捨五入”或者是“四捨六入五成雙”,所謂“四捨六入五成雙”,在百度百科上給的解釋是:也即“4舍6入5湊偶”這裡“四”是指≤4 時捨去,"六"是指≥6時進上,"五"指的是根據5後面的數字來定,當5後有數時,捨5入1;當5後無有效數字時,需要分兩種情況來講:①5前為奇數,捨5入1;②5前為偶數,捨5不進。 (0是最小的偶數) 。百度百科上涉及的幾個例子在實際情況下確實成立,但不科學,並不能涵蓋所有的情況。

測試瀏覽器:屌絲瀏覽器IE6以及高級屌絲瀏覽器IE78和所有現代主流瀏覽器包括IE9、IE10、FF、chrome、opera、safari。 (註:使用IE10的類似firebug的開發工具時,採用相容IE低版瀏覽器模式時的測試結果跟使用原生低版IE瀏覽器的測試結果不一致)

在浮點數末尾≤ 4或≥6的情況下的捨入沒有爭議,但當末尾正好等於5的情況下可謂混亂之極。
總結:眾所周知,遵循IEEE754數值格式的語言的浮點計算會出現精度損耗的通病,ES也並非獨此一家,因此盡量不要進行某個特定浮點數值的測試,如:0.1 0.2;
解決方案:重寫Number.prototype.toFixed()方法:

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何使用JS和百度地圖實現地圖平移功能 如何使用JS和百度地圖實現地圖平移功能 Nov 21, 2023 am 10:00 AM

如何使用JS和百度地圖實現地圖平移功能

建議:優秀JS開源人臉偵測辨識項目 建議:優秀JS開源人臉偵測辨識項目 Apr 03, 2024 am 11:55 AM

建議:優秀JS開源人臉偵測辨識項目

股票分析必備工具:學習PHP和JS繪製蠟燭圖的步驟 股票分析必備工具:學習PHP和JS繪製蠟燭圖的步驟 Dec 17, 2023 pm 06:55 PM

股票分析必備工具:學習PHP和JS繪製蠟燭圖的步驟

PHP與JS開發技巧:掌握繪製股票蠟燭圖的方法 PHP與JS開發技巧:掌握繪製股票蠟燭圖的方法 Dec 18, 2023 pm 03:39 PM

PHP與JS開發技巧:掌握繪製股票蠟燭圖的方法

如何使用PHP和JS創建股票蠟燭圖 如何使用PHP和JS創建股票蠟燭圖 Dec 17, 2023 am 08:08 AM

如何使用PHP和JS創建股票蠟燭圖

如何使用JS和百度地圖實現地圖多邊形繪製功能 如何使用JS和百度地圖實現地圖多邊形繪製功能 Nov 21, 2023 am 10:53 AM

如何使用JS和百度地圖實現地圖多邊形繪製功能

如何使用JS和百度地圖實現地圖點擊事件處理功能 如何使用JS和百度地圖實現地圖點擊事件處理功能 Nov 21, 2023 am 11:11 AM

如何使用JS和百度地圖實現地圖點擊事件處理功能

js中new運算子做了哪些事情 js中new運算子做了哪些事情 Nov 13, 2023 pm 04:05 PM

js中new運算子做了哪些事情

See all articles