[問題] 小數加法出現奇怪尾巴?

看板Python作者 ( )時間1年前 (2022/05/31 11:50), 編輯推噓6(6011)
留言17則, 8人參與, 1年前最新討論串1/1
https://imgur.com/a/1unAUlR 抱歉新手發問 為何會有後面那一串00000002 真心不懂 也不知道該用什麼關鍵字查 感謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.192.240.229 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1653969057.A.A06.html

05/31 11:56, 1年前 , 1F
關鍵字:浮點數
05/31 11:56, 1F

05/31 11:59, 1年前 , 2F
謝謝 我的理解是電腦的限制 不可能修正過來了對嗎
05/31 11:59, 2F

05/31 12:20, 1年前 , 3F
你想問的是decimal?
05/31 12:20, 3F

05/31 12:37, 1年前 , 4F

05/31 12:39, 1年前 , 5F
簡單說,大多數十進位的小數,很難精確地用二進位去
05/31 12:39, 5F

05/31 12:39, 1年前 , 6F
表示,導致誤差
05/31 12:39, 6F

05/31 13:10, 1年前 , 7F
https://imgur.com/a/d4yDcPb 請問如果用round函數去
05/31 13:10, 7F

05/31 13:11, 1年前 , 8F
把後面循環小數殺掉 在運算上會有問題嗎
05/31 13:11, 8F

05/31 13:34, 1年前 , 9F
要看目的是什麼,浮點數跟整數不一樣
05/31 13:34, 9F

05/31 15:53, 1年前 , 10F
試試round(1.5)及round(2.5),就會發現有差。
05/31 15:53, 10F

05/31 17:22, 1年前 , 11F
一般來說不用管它 需要輸出顯示的時候才會去動它
05/31 17:22, 11F

05/31 17:22, 1年前 , 12F
還有就是float做equal判斷的時候不要直接用等號: ==
05/31 17:22, 12F

05/31 21:45, 1年前 , 13F
對對對 這就是我想問的 if equal 判斷該怎麼辦呢?
05/31 21:45, 13F

05/31 22:09, 1年前 , 14F

05/31 22:19, 1年前 , 15F
decimal,可以。
05/31 22:19, 15F

06/01 20:38, 1年前 , 16F
有人對這個問題寫過套件,比 Decimal 快上不少
06/01 20:38, 16F

06/01 20:38, 1年前 , 17F
文章代碼(AID): #1YbP2Xe6 (Python)