作者A83X8CJ8 (Elca)
看板MATLAB
標題[討論] 0.6/0.2不是3?
時間Sat Nov 7 16:54:17 2015
大家好
我剛開始接觸Matlab
最近寫程式的時候
發現floor(0.6/0.2) = 2 這個神奇的bug....
(好像不只0.6/0.2 還有其他的也會)
上網找沒找到類似的討論
請問有人知道原因嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.175.125.189
※ 文章網址: https://webptt.com/m.aspx?n=bbs/MATLAB/M.1446886460.A.E58.html
1F:推 celestialgod: rounding erro吧 11/07 17:02
2F:→ celestialgod: error 11/07 17:02
3F:噓 Steven0422: 這年頭 user只會亂說有bug 11/07 17:27
4F:→ A83X8CJ8: 對我來說算是bug呀 因為這個error讓程式跑出bug 11/07 18:01
6F:→ mailroach: 加個eps不就好了 11/08 07:18
7F:→ rex0707: floor..... 11/08 13:51
8F:推 rtj: round(0.6/0.2)就等於3 11/10 22:28
9F:→ rtj: floor((0.6/0.2)*10000000.0)=29999999,可見內部運算上誤差 11/10 22:33
10F:→ A83X8CJ8: 謝謝各位大大的解釋 我又學到了幾種方法避開這個問題了 11/10 23:18