Implicit conversion from float -3.046875 to int loses precision