[討論] 四捨五入或無條件捨位竟然無視指數...?

看板MATLAB作者 (阿泰斯)時間12年前 (2013/04/30 13:26), 編輯推噓0(0010)
留言10則, 3人參與, 最新討論串1/1
如: gx=1.001e3 fix(gx)=1000 %!!!!!!!!!!!!!!!!!!!! 怎回事... 用format long g的話 有沒有辦法只讓gx是顯示1001,而程式碼的其他部分的數字是照預設顯示? 求高手協助!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.130.17.157

04/30 13:46, , 1F
那就用round, floor 或 ceil吧 :)
04/30 13:46, 1F

04/30 13:49, , 2F
上面題目有點問錯 應該是以下
04/30 13:49, 2F

04/30 13:53, , 3F
amin=2.817;amax=2.818;ad=0.000001;
04/30 13:53, 3F

04/30 13:55, , 4F
alla=((amax-amin)/ad)+1;ra=fix(alla)
04/30 13:55, 4F

04/30 13:56, , 5F
算出來alla是1.0010e+3;但ra卻是1000
04/30 13:56, 5F

04/30 13:59, , 6F
發現原因,alla=1000.99999999989
04/30 13:59, 6F

04/30 14:00, , 7F
但怎會算成這樣?不是要1001整數嗎?
04/30 14:00, 7F

04/30 17:37, , 8F
float point error
04/30 17:37, 8F

04/30 19:38, , 9F
浮點數不準確我知道,但是有辦法解決嗎? 目前我是加個
04/30 19:38, 9F

04/30 19:39, , 10F
round,只是怕有例外...
04/30 19:39, 10F
文章代碼(AID): #1HVrOEO- (MATLAB)