欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2012年11月20日 09:56:01   投稿:whsnow  
最近發(fā)現(xiàn)JS當(dāng)中toFixed()方法存在一些問題,采用原生的Number對象的原型對象上的toFixed()方法時,規(guī)則并不是所謂的“四舍五入”或者是四舍六入五成雙

最近發(fā)現(xiàn)JS當(dāng)中toFixed()方法存在一些問題,采用原生的Number對象的原型對象上的toFixed()方法時,規(guī)則并不是所謂的“四舍五入”或者是“四舍六入五成雙”,所謂“四舍六入五成雙”,在百度百科上給的解釋是:也即“4舍6入5湊偶”這里“四”是指≤4 時舍去,"六"是指≥6時進(jìn)上,"五"指的是根據(jù)5后面的數(shù)字來定,當(dāng)5后有數(shù)時,舍5入1;當(dāng)5后無有效數(shù)字時,需要分兩種情況來講:①5前為奇數(shù),舍5入1;②5前為偶數(shù),舍5不進(jìn)。(0是最小的偶數(shù)) 。百度百科上涉及的幾個例子在實(shí)際情況下確實(shí)成立,但不科學(xué),并不能覆蓋所有的情況。

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

相關(guān)文章

最新評論