I have two integer values `a`

and `b`

, but I need their ratio in floating point. I know that `a < b`

and I want to calculate `a / b`

, so if I use integer division I'll always get 0 with a remainder of `a`

.

How can I force `c`

to be a floating point number in Python in the following?

```
c = a / b
```

In Python 2, division of two ints produces an int. In Python 3, it produces a float. We can get the new behaviour by importing from `__future__`

.

```
>>> from __future__ import division
>>> a = 4
>>> b = 6
>>> c = a / b
>>> c
0.66666666666666663
```

You can cast to float by doing `c = a / float(b)`

. If the numerator or denominator is a float, then the result will be also.

A caveat: as commenters have pointed out, this won't work if `b`

might be something other than an integer or floating-point number (or a string representing one). If you might be dealing with other types (such as complex numbers) you'll need to either check for those or use a different method.

Licensed under: CC-BY-SA with attribution

Not affiliated with: Stack Overflow