Implicit conversion from float -20.5 to int loses precision