Implicit conversion from float -31.3125 to int loses precision