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

作者: harold1018 ( )   2022-05-31 11:50:55
https://imgur.com/a/1unAUlR
抱歉新手發問
為何會有後面那一串00000002
真心不懂 也不知道該用什麼關鍵字查
感謝~
作者: sating00 (sating00)   2022-05-31 11:56:00
關鍵字:浮點數
作者: harold1018 ( )   2022-05-31 11:59:00
謝謝 我的理解是電腦的限制 不可能修正過來了對嗎
作者: r123432   2022-05-31 12:20:00
你想問的是decimal?
作者: f416720001 (Gemini翔)   2022-05-31 12:37:00
https://reurl.cc/n1l2q1簡單說,大多數十進位的小數,很難精確地用二進位去表示,導致誤差
作者: harold1018 ( )   2022-05-31 13:10:00
https://imgur.com/a/d4yDcPb 請問如果用round函數去把後面循環小數殺掉 在運算上會有問題嗎
作者: lycantrope (阿寬)   2022-05-31 13:34:00
要看目的是什麼,浮點數跟整數不一樣
作者: ides13 (juso)   2022-05-31 15:53:00
試試round(1.5)及round(2.5),就會發現有差。
作者: germun (ger)   2022-05-31 17:22:00
一般來說不用管它 需要輸出顯示的時候才會去動它還有就是float做equal判斷的時候不要直接用等號: ==
作者: harold1018 ( )   2022-05-31 21:45:00
對對對 這就是我想問的 if equal 判斷該怎麼辦呢?
作者: ides13 (juso)   2022-05-31 22:09:00
作者: sleepylizard   2022-06-01 20:38:00
有人對這個問題寫過套件,比 Decimal 快上不少https://github.com/sigma-py/accupy

Links booklink

Contact Us: admin [ a t ] ucptt.com