[心得] 精确计算浮点数的方式

楼主: luckid (luckid)   2019-10-11 16:19:28
https://gist.github.com/twkhjl/d149d783a3ac5957caa0cd33c481c3d6
这几天连假没事,
试着用python+PyQt5练习写个计算机,
遇到一个令人哭笑不得的问题,
就是在计算浮点数时会多出许多位数>_<
最后找到一个方式解决,仅供参考,希望有所帮助,
简单来讲就是用正则找出所有小数点数字,在外面加上Decimal,
所以原本的算式假设是
0.1+0.1+0.1
,会变成
Decimal(0.1)+Decimal(0.1)+Decimal(0.1)
,再用eval就会得出0.3的值了.
以上程式仅供参考,肯定会有更好的解法,也请各位先进不吝指正,感谢.
作者: yiche (你若安好,便是晴天)   2019-10-12 07:44:00
round
楼主: luckid (luckid)   2019-10-12 12:04:00
感谢分享其它作法

Links booklink

Contact Us: admin [ a t ] ucptt.com