-1

在 Python 中,如何比较两个浮点变量值以确保它们是否在一定的公差范围内?

例如:

variable = 17.40
array = [14.40, 14.12, 45.50]

我需要将变量值与数组元素进行比较,以查看哪一个足够接近。

4

1 回答 1

2

从你也问的这个问题。这是一段代码,它将检查您的变量是否在数组中(除非这不是您将变量值与数组元素进行比较的意思):

TOLERANCE=10**-6

def are_floats_equal(a,b):
  return abs(a-b) <= TOLERANCE

def float_in_array(number, array):
  return True in [are_floats_equal(number, a) for a in array]

编辑。这样做可能会更有效一些(虽然不太简洁),因为我们只在数组上循环一次:

def float_in_array(number, array):
  for a in array:
    if are_floats_equal(number, a):
      return True
  return False
于 2013-02-21T10:44:50.133 回答