# Comparing Floating Point Numbers

## Oct 21, 2021 21:27 · 151 words · 1 minute read programming

Floating point numbers are a chore to work with. And how computers work with them can be more complex. As an example take this example in Python:

``````print(0.3 * 3 + 0.1)
``````

We get:

``````0.9999999999999999
``````

This is caused by rounding errors during calculations. Instead of getting a simple “1”, we get: “0.9999999999999999”. Thus, when programming, it’s dangerous to directly compare floating numbers, like say:

``````print((0.3 * 3 + 0.1) == 1)
``````

Which outputs:

``````False
``````

Instead, a more plausible way of checking for equality with 2 floating point numbers would be to assume that the 2 floating point numbers are equal if the difference between them is less than some number, like say ϵ.

``````ϵ = 1e-9
print(abs((0.3 * 3 + 0.1) - 1) < ϵ)
``````

which now correctly outputs

``````True
``````

Also, a bit off-topic, but it’s worth pointing out that symbols like θ, β, ζ etc are valid names for variables.