Implicit conversion from float -31.5625 to int loses precision