Python中浮點數精度處理


 

Python中,浮點數運算,經常會碰到如下情況:

 

出現上面的情況,主要還是因浮點數在計算機中實際是以二進制保存的,有些數不精確。
比如說: 0.1是十進制,轉化為二進制后它是個無限循環的數:
0.00011001100110011001100110011001100110011001100110011001100
而python是以雙精度(64)位來保存浮點數,多余的位會被截掉,所以看到的是0.1,但在電腦上實際保存的已不是精確的0.1,參與運算后,也就有可能點誤差,特別是金融鄰域里面,對精度更是要求更高,如何在Python中獲取特定位數精度值?

【方法一】利用round方法:

 

【方法二】利用decimal模塊:

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM