Implicit conversion from float -34.5 to int loses precision