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/
  • 本文版权归作者和博客园共有,欢迎转载、交流,但未经作者同意必须保留此段声明,且在文章明显位置给出原文链接。
posted @ 2017-11-13 10:24  倥偬时光  阅读(12849)  评论(0编辑  收藏  举报