JS中toFixed()方法引起的問題如何解決
最近發(fā)現(xiàn)JS當(dāng)中toFixed()方法存在一些問題,采用原生的Number對象的原型對象上的toFixed()方法時,規(guī)則并不是所謂的“四舍五入”或者是“四舍六入五成雙”,所謂“四舍六入五成雙”,在百度百科上給的解釋是:也即“4舍6入5湊偶”這里“四”是指≤4 時舍去,"六"是指≥6時進上,"五"指的是根據(jù)5后面的數(shù)字來定,當(dāng)5后有數(shù)時,舍5入1;當(dāng)5后無有效數(shù)字時,需要分兩種情況來講:①5前為奇數(shù),舍5入1;②5前為偶數(shù),舍5不進。(0是最小的偶數(shù)) 。百度百科上涉及的幾個例子在實際情況下確實成立,但不科學(xué),并不能覆蓋所有的情況。
在浮點數(shù)末尾≤4或者≥6的情況下的舍入沒有爭議,但當(dāng)末尾正好等于5的情況下可謂混亂之極。
總結(jié):眾所周知,遵循IEEE754數(shù)值格式的語言的浮點計算會出現(xiàn)精度損耗的通病,ES也并非獨此一家,因此盡量不要進行某個特定浮點數(shù)值的測試,如:0.1+0.2;
解決方案:重寫Number.prototype.toFixed()方法:
相關(guān)文章
javascript 刪除select中的所有option的實例
這篇文章主要介紹了javascript 刪除select中的所有option的實例的相關(guān)資料,希望通過本文能幫助到大家實現(xiàn)這樣的功能,需要的朋友可以參考下2017-09-09
JavaScript之map reduce_動力節(jié)點Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了JavaScript之map reduce的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
使用pcs api往免費的百度網(wǎng)盤上傳下載文件的方法
百度個人云盤空間大,完全免費,而且提供了pcs api供調(diào)用操作文件,在平時的項目里往里面保存一些文件是很實用的。通過本文給大家介紹使用pcs api往免費的百度網(wǎng)盤上傳下載文件的方法,感興趣的朋友一起學(xué)習(xí)吧2016-03-03
JavaScript中“過于”犀利地for/in循環(huán)使用示例
Java中的增強for循環(huán)很是好用,但是JavaScript中為我們提供的for/in循環(huán)已然不是這么簡單了,下面有個簡單的示例,大家不妨參考下2013-10-10
layui 上傳插件 帶預(yù)覽 非自動上傳功能的實例(非常實用)
今天小編就為大家分享一篇layui 上傳插件 帶預(yù)覽 非自動上傳功能的實例(非常實用),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09

