問題描述電商項目,前端框架使用vue,顯示購物車內(nèi)價格時使用vue的計算屬性,用來計算購物車的總價格.但當(dāng)商品價格為1.01元時,計算結(jié)果會出現(xiàn)周期性的位數(shù)異常.相關(guān)代碼goodsInform 存儲用戶存在購物車中商品的信息price 商品單價amount 購物車中同種商品的數(shù)量totalPrices () { let totalPrices = 0 for (let index in this.goodsInform) { console.log(this.goodsInform[index].price) // 商品的單價 console.log(this.goodsInform[index].amount) // 商品的數(shù)量 totalPrices += this.goodsInform[index].price * this.goodsInform[index].amount // 強制限制保留位數(shù)為兩位,這是我對該問題的解決辦法,但想知道問題原因 } totalPrices = totalPrices.toFixed(2) if (totalPrices <= 0) { return '未選購商品' } else { return '總價:' + '¥' + totalPrices } }相關(guān)錯誤結(jié)果截圖和數(shù)據(jù)信息1.商品數(shù)據(jù)是Java后臺傳遞的,后端說他使用BigDecima類型數(shù)據(jù),傳過來我這邊存儲的均是Number類型的單價和數(shù)量.2.出現(xiàn)錯誤的規(guī)律:分別在1.01元的商品數(shù)量為3,6,12,24...(后面沒繼續(xù)測試但好像規(guī)律已經(jīng)出現(xiàn)了)會顯示成6.0600000000000005這種類似的數(shù)據(jù).控制臺打印結(jié)果與顯示結(jié)果:雖然目前我所使用的解決辦法不影響顯示,但這個問題的出現(xiàn)讓我很費解,想知道為什么會出現(xiàn)這種情況,可以通過什么方式避免這種錯誤的發(fā)生.
Vue 計算屬性計算結(jié)果出現(xiàn)規(guī)律性異常
守候你守候我
2019-03-21 18:19:57