第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何存儲重量值并轉換為標準/公制重量?

如何存儲重量值并轉換為標準/公制重量?

慕斯709654 2021-06-10 16:05:08
我正在開發(fā)一個 Vue 應用程序,其中一項功能處理權重值。我目前將它們以克的形式存儲在我的數據庫中,然后將它們轉換為磅。最終,我希望能夠讓用戶在公制和標準計算之間進行選擇。我創(chuàng)建了一個返回四個計算的函數,但是它們似乎沒有正確加起來。export const convertToPounds = weight => {  return (Math.round((weight / 453.592) * 10) / 10).toFixed(2);};此函數運行四次。一次是總數,三次是基于項目過濾到的類別。Total - 4170 grams converts to 9.20 lbsValueA - 2700 grams converts to 6.00 lbsValueB - 1400 grams converts to 3.10 lbsValueC - 70 grams converts to 0.20 lbs不過,看看最終的轉換,這三個值加起來是 9.30,而不是應該返回的 9.20。我的問題是轉換方法是否太不準確,無法處理這些類型的轉換?或者以克為單位存儲重量不是處理這種情況的最佳方式?
查看完整描述

3 回答

?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

渴望評論:


像這樣的確切數字9.20是不可能的。它們是二進制四舍五入到最接近的可能數字,這里是9.19999999999999929。這就是原因,它toFixed()返回一個字符串而不是一個數字。


此處作為答案提供的函數或表達式也無濟于事:


value = Math.round(value * Math.pow(10, decimals)) / Math.pow(10, decimals);

如果你通過console.log(value.toPrecision(18))你看到的結果證明,函數失敗了。所有返回數字的舍入函數都將失敗。


為什么toPrecision(18)?浮點數通常實現為 IEEE 754。JavaScript 使用double floats大約 16 位十進制數字。所以 18 位數字是內部數字的非常精確的十進制表示。


最后說明:toFixed()僅用于最終印刷。


查看完整回答
反對 回復 2021-06-11
  • 3 回答
  • 0 關注
  • 178 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號