国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 14:20:51
字體:
來源:轉載
供稿:網友
最近發現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()方法:
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 大同县| 德钦县| 隆子县| 秦安县| 安阳县| 合肥市| 那曲县| 洛扎县| 镇坪县| 沅江市| 桦川县| 万盛区| 荥阳市| 西昌市| 瑞丽市| 洛南县| 白水县| 尖扎县| 双辽市| 江门市| 美姑县| 宝坻区| 永善县| 海门市| 台北市| 黑龙江省| 遂川县| 洪江市| 兴和县| 康平县| 平陆县| 扎鲁特旗| 冕宁县| 喀什市| 鄢陵县| 大庆市| 遵化市| 肇州县| 怀来县| 大丰市| 高台县|