# Floating Point Numbers, Redux#

Most of the calculations we’ve seen so far have worked with integers, and we’ve referred to them as both “numbers” and “integers.” We’ve also run into a different kind of number — floating point numbers. Floating point numbers — floats for short—behave a little differently than integers, and also different than the real numbers you know from math. For example, with division, the result appears to be a decimal number up to a certain precision:

```>>> 1/3
0.3333333333333333
>>> 1/10
0.1
```

but if we try to do arithmetic, something odd happens:

```>>> 1/10 + 2/10
0.30000000000000004
```

Python has given us a wrong mathematical answer! 😭 Why? Python (along with many other languages) uses floating-point numbers for arithmetic with non-whole numbers. Floats are often a good approximation for the reals, but:

• not every real number can be represented as a float (and not just because our computer’s memory is finite)

• the order of operations on floats can matter (`0.3` isn’t the same as `0.1 + 0.2`)

## Python Floating-Point Number versus Integers#

So, what is the difference between a floating-point number and an integer? Both integers and floating-point numbers represent a type of numerical data. An integer is a type of data that does not have a decimal point. A floating-point number is a data type that is used to represent non-whole numbers.

Is there a difference between 1 and 1.0?

Yes! `1` is an integer value, there is NO decimal point, where as `1.0` is a floating-point number, it HAS a decimal point.