以下行:
console.log(ship.x " " (4/3) " * " ship.r " * " Math.cos(ship.a));
回傳:
50 1.3333333333333333 * 15 * 6.123233995736766e-17
但是,當我通過以下方式實際使用 JavaScript 進行數學計算時:
console.log(ship.x 4 / 3 * ship.r * Math.cos(ship.a));
它回傳'50'的整數值?這怎么可能?該行中的第一個值是 50,因此您會認為它在運行后在邏輯上會是一個更大的數字。我已經嘗試過 PEMDAS 和許多其他變體,但最終都沒有得到 50 的值。JavaScript 到底在用上面的代碼做什么?這是整個代碼頁的鏈接:https : //codepen.io/hoyos/pen/vYJqaRw?editors=0010
uj5u.com熱心網友回復:
Calculuswhiz 的評論是正確的。浮點數學無法處理您的數字的大小(6e-17),因此您最終得到50 1.33333 * 15 * 0,即50 0。
查看此問題的已批準答案以獲取更多詳細資訊: 浮點數學是否已損壞?
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/367309.html
標籤:javascript 数学 返回 控制台日志
上一篇:如何寫出所有可能的組合
下一篇:如何撰寫一個實作混沌映射的回圈?
