在Python中,如何比较两个浮点变量值以确保它们是否在彼此的某个容差范围内?
例如:
variable = 17.40
array = [14.40, 14.12, 45.50]
我需要将变量值与数组元素进行比较,以查看哪一个足够接近。
答案 0 :(得分:2)
你也问this question。这是一段代码,用于检查您的变量是否在数组中(除非通过将变量值与数组元素进行比较而不是您的意思):
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