作者harold1018 ( )
看板Python
標題[問題] 小數加法出現奇怪尾巴?
時間Tue May 31 11:50:55 2022
https://imgur.com/a/1unAUlR
抱歉新手發問
為何會有後面那一串00000002
真心不懂 也不知道該用什麼關鍵字查
感謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.192.240.229 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1653969057.A.A06.html
1F:→ sating00: 關鍵字:浮點數 05/31 11:56
2F:→ harold1018: 謝謝 我的理解是電腦的限制 不可能修正過來了對嗎 05/31 11:59
3F:→ r123432: 你想問的是decimal? 05/31 12:20
5F:→ f416720001: 簡單說,大多數十進位的小數,很難精確地用二進位去 05/31 12:39
6F:→ f416720001: 表示,導致誤差 05/31 12:39
8F:→ harold1018: 把後面循環小數殺掉 在運算上會有問題嗎 05/31 13:11
9F:推 lycantrope: 要看目的是什麼,浮點數跟整數不一樣 05/31 13:34
10F:推 ides13: 試試round(1.5)及round(2.5),就會發現有差。 05/31 15:53
11F:推 germun: 一般來說不用管它 需要輸出顯示的時候才會去動它 05/31 17:22
12F:→ germun: 還有就是float做equal判斷的時候不要直接用等號: == 05/31 17:22
13F:→ harold1018: 對對對 這就是我想問的 if equal 判斷該怎麼辦呢? 05/31 21:45
15F:推 ides13: decimal,可以。 05/31 22:19
16F:→ sleepylizard: 有人對這個問題寫過套件,比 Decimal 快上不少 06/01 20:38