看板 ask 關於我們 聯絡資訊
用VBA寫了一個計算分數的東西 原本看起來沒什麼問題 但是有幾格會多出很多莫名的小數點後好多位數 非常突兀 而且省略小數點或是無條件進位都不是我要的結果 所以我特地把最後加總的分數拆開來 並用msgbox表現出來 總共分三節 xxxx1 = 前半段 xxxx2 = 剩餘的後半段 xxxx3 = 把前面兩段加總起來 如圖 https://i.imgur.com/Icq5s0O.png
得到xxxx1的結果為 https://i.imgur.com/X5UvpgY.png
得到xxxx2的結果為 https://i.imgur.com/Z0ZKoUR.png
得到xxxx3的結果為 https://i.imgur.com/lQtfRMQ.png
求救 請問-15+15要怎麼樣才能得到1.4多的結果....... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 112.105.240.116 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/ask/M.1560042930.A.C79.html ※ 編輯: andy90498 (112.105.240.116 臺灣), 06/09/2019 09:16:47
OrzOGC: 1.4x10的-14次方,應該是精度問題 06/09 09:27
https://i.imgur.com/WzHmhFs.png
補充一下 上面的3-2.9是有小括號的 (3-2.9)*15*10 圖片忘記打上去 還蠻困擾的 其他算起來都是正常的 偏偏只有這種組合會出現這種情況 (其他格遇到跟這張圖片相同配置的情況就會有計算有問題的狀況) ※ 編輯: andy90498 (112.105.240.116 臺灣), 06/09/2019 09:43:09
sa12e3: office板或許會比較容易得到 您要的答案。 06/09 10:21
sa12e3: 個人認為也是精準度的設定造成了誤差。 06/09 10:24
KEKEKUO: >< 06/09 11:02
newacc: google浮點誤差 06/09 11:15
newacc: 是電腦二進位造成的問題,目前沒有完美解決方案,可以用「 06/09 11:18
newacc: 小數點後n位四捨五入」做處理 06/09 11:18
sa12e3: 解決方案應該是用一個欄位來處理浮點數且需要搭配回圈使 06/09 11:44
sa12e3: 用。 06/09 11:45
wray: 這是正常的。你最後得到的數也是極為接近0的數。或許如樓上 06/09 20:41
wray: 所說,加個四捨五入之類的來處理吧。 06/09 20:41