[問題] as3的小數計算錯誤!?

看板Flash作者 (米奧)時間14年前 (2011/03/18 17:29), 編輯推噓5(502)
留言7則, 7人參與, 最新討論串1/1
這個問題是在寫計算機的時候發現的, 已經寫好加減乘除等於,用整數測試都沒有問題, 但是用小數測的時候卻不時會發生問題, 本來還以為我為什麼寫出這種爛程式,連問題在哪裡都找不到.. 只要是x.8或x.3-0.1算出來都會是錯的答案 後來真的找不到 一氣之下我寫了 trace(0.3-0.1); 沒想到跑出來的是 0.19999999999999998 ...怎麼會這樣!!國小數學耶!!!!!竟然會算錯!! 在板上找不到相關資料,於是咕狗到一個相關的討論串: http://www.kirupa.com/forum/showthread.php?t=247416 不過第一個連結已經連不到了,後面說可以四捨五入 但我要做的是計算機...總不能說這個計算機只能四捨五入到小數點下一位吧! 真是太瞎了>"< 有沒有人知道要怎麼解決呢...非常感謝 O___Q -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 221.120.64.121

03/18 21:16, , 2F
你如果知道浮點數有這樣的特性就不會驚訝了 :
03/18 21:16, 2F

03/18 21:51, , 3F
小數後面的值一定要被捨去或進位
03/18 21:51, 3F

03/19 19:36, , 4F
請重新閱讀計算機概論 :P
03/19 19:36, 4F

03/19 21:16, , 5F
然後自己寫adder嗎XDDD
03/19 21:16, 5F

03/20 15:45, , 6F
一樓的文章真不錯~~~
03/20 15:45, 6F

03/21 15:16, , 7F
value.toFixed(四捨五入位數);
03/21 15:16, 7F
文章代碼(AID): #1DWoO26u (Flash)