python3.5新增函數isclose的使用


  • 前言:python3.5的math模塊新增一個isclose函數用來判斷兩個浮點數的值是否接近或相等,這是由於浮點數的計算總是存在一定的誤差。下面談一下用法:
import math
print(math.isclose(1.25,1.25))
# 返回一個布爾值True
  • 源碼:
isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)
  • 參數:
  1. a,b:兩個需要比較的浮點數;
  2. rel_tol: 相對於輸入值的大小,被認為是“接近”的最大差異;
  3. abs_tol: 無論輸入值的大小,被認為“接近”的最大差異
  • 本質算法
abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)
  • 可以自定義參數rel_tol和abs_tol
import math
print(math.isclose(2.1,2.2,rel_tol=0.1))
# 結果:True
# 同理abs_tol也可以自定義
  • 作者:天宇之游
  • 出處:http://www.cnblogs.com/cwp-bg/
  • 本文版權歸作者和博客園共有,歡迎轉載、交流,但未經作者同意必須保留此段聲明,且在文章明顯位置給出原文鏈接。


免責聲明!

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



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