作者harold1018 ( )
看板Python
标题[问题] 小数加法出现奇怪尾巴?
时间Tue May 31 11:50:55 2022
https://imgur.com/a/1unAUlR
抱歉新手发问
为何会有後面那一串00000002
真心不懂 也不知道该用什麽关键字查
感谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.192.240.229 (台湾)
※ 文章网址: https://webptt.com/cn.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