作者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/cn.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