# How can I force division to be floating point? Division keeps rounding down to 0?

### Question

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
``````
1
698
8/10/2018 7:48:10 AM

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
``````
784
4/18/2019 6:34:04 PM

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.