Implicit conversion from float -45.9375 to int loses precision