在 Python 中,如何比较两个浮点变量值以确保它们是否在一定的公差范围内?
例如:
variable = 17.40
array = [14.40, 14.12, 45.50]
我需要将变量值与数组元素进行比较,以查看哪一个足够接近。
从你也问的这个问题。这是一段代码,它将检查您的变量是否在数组中(除非这不是您将变量值与数组元素进行比较的意思):
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