Python中浮點數精度處理
- 2020 年 1 月 6 日
- 筆記
Python中,浮點數運算,經常會碰到如下情況:

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

【方法二】利用decimal模塊:
