Implicit conversion from float -42.9375 to int loses precision