作者lovejoe7010 (shen)
看板PHP
標題[請益] 運算加減異常問題
時間Mon Jun 26 22:53:25 2017
從資料庫取出欄位型態為DOUBLE的數值如下
211.95
-60
-30
-46
-16
-24
-19.95
-16
經過迴圈取值echo後顯示會是下面結果...
累加結果__迴圈取值
211.95__211.95
151.95__-60
121.95__-30
75.95__-46
59.95__-16
35.95__-24
16__-19.95 //到目前都很正常
-1.06581410364E-14__-16 //到這段16-16卻是異常數字,無解,懇求大大們錦囊相授
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.44.176
※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1498488807.A.49C.html
→ rickysu: 因為2進位無法準確表示10進位的浮點數就會造成這個問題 06/28 09:33
→ rickysu: 各個平台都有自己對應的方式處理(也有些乾脆不處理) 06/28 09:34
→ rickysu: 最根本的方法還是,不要用浮點數存 06/28 09:36