The Python math.isclose() method is used to determine whether two floating-point numbers are close to each other within a specified tolerance.
It compares two numbers, "a" and "b", and returns "True" if they are close in value, within a relative or absolute tolerance. Mathematically, it is represented as −
|a - b| ≤ max(rel_tol × max(|a|, |b|), abs_tol)
In simple terms, the method checks if the absolute difference between "a" and "b" is within a certain tolerance range.
Tolerance refers to an acceptable deviation or error margin allowed when comparing two values. It represents the maximum difference between the values that can be considered insignificant.Syntax
Following is the basic syntax of the Python math.isclose() method −
math.isclose(a, b, *, rel_tol=1e-9, abs_tol=0.0)Parameters
This method accepts the following parameters −
a − This is a numeric value representing the first number.
b − This is a numeric value representing the second number.
rel_tol (optional) − This is a float representing the relative tolerance (maximum allowed difference as a fraction of the larger absolute value). The default value is 1e-9.
abs_tol (optional) −This is a float representing the absolute tolerance (maximum allowed difference). The default value is 0.0.
The rel_tol and abs_tol parameters of the math.isclose() method are mutually exclusive. You can only provide one of them.Return Value
The method returns a boolean value (True or False) indicating whether the two numbers "a" and "b" are close to each other within the specified tolerances.
Example 1In the following example, we check if the sum of "0.1" and "0.2" is approximately equal to "0.3" and retrieve the result −
import math result = math.isclose(0.1 + 0.2, 0.3) print("The result is:",result)Output
The output obtained is as follows −
The result is: TrueExample 2
If the difference between the numbers is within the specified tolerances, the math.isclose() method returns True.
Here, we check if the numbers "1000" and "1001" are approximately equal within a relative tolerance of "0.001" and an absolute tolerance of "0.01" −
import math result = math.isclose(1000, 1001, rel_tol=0.001, abs_tol=0.01) print("The result is:",result)Output
Following is the output of the above code −
The result is: TrueExample 3
If the relative difference between the numbers exceeds the specified tolerance, the math.isclose() method returns False.
Now, we compare the numbers "0.0001" and "0.0002" with a relative tolerance of "0.1" −
import math result = math.isclose(0.0001, 0.0002, rel_tol=0.1) print("The result is:",result)Output
We get the output as shown below −
The result is: FalseExample 4
In this example, we are comparing two very large numbers, "1e10" and "1e10 + 1", with a relative tolerance of "0.001" −
import math result = math.isclose(1e10, 1e10 + 1, rel_tol=0.001) print("The result is:",result)Output
The result produced is as shown below −
The result is: True
python_maths.htm
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4