Implicit conversion from float -0.3125 to int loses precision