jtw11:
Then, I must use floats.
Not necessarily. You could use fixed point arithmetic instead. For example, multiply your integer value by 1000 to get three decimal places of precision.
When you're dealing with arithmetic you need to be aware of the range and resolution of your values all the way through your calculation, so that you can avoid overflow or rounding errors at any stage. The numbers shown in your example are small enough for overflow not to be an issue, but you need to consider the full range of real-world values to make sure that you types are capable of holding them.