[心得] 精確計算浮點數的方式

作者: 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