看板 PHP 關於我們 聯絡資訊
從資料庫取出欄位型態為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
cf1064: https://goo.gl/3YTPnx 06/27 01:19
rickysu: 因為2進位無法準確表示10進位的浮點數就會造成這個問題 06/28 09:33
rickysu: 各個平台都有自己對應的方式處理(也有些乾脆不處理) 06/28 09:34
rickysu: http://0.30000000000000004.com/ 看一下哪個平台會踩雷 06/28 09:35
rickysu: 最根本的方法還是,不要用浮點數存 06/28 09:36