Python Function Reference

math.isclose

Check that two numbers are close to each other within a tolerance.

Python 3.13
math.isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)

Parameters

aint | float
The first number.
bint | float
The second number.
rel_tolfloatoptional
The allowed relative difference, 1e-09 by default, which is about 9 matching significant digits.
abs_tolfloatoptional
The allowed absolute difference, 0.0 by default; needed for comparison with zero.

Return value

True if the numbers are close, otherwise False.

Examples

Comparing floats

Python 3.13
import math
print(0.1 + 0.2 == 0.3, math.isclose(0.1 + 0.2, 0.3))
False True

Comparing with zero using abs_tol

Python 3.13
import math
print(math.isclose(1e-10, 0), math.isclose(1e-10, 0, abs_tol=1e-9))
False True

Details

Floats are stored approximately, so 0.1 + 0.2 == 0.3 gives False. Relative tolerance does not work with zero: any non-zero number is far from zero in relative terms, so set abs_tol for such a comparison.

See also

Where to learn