Implicit conversion from float -21.5 to int loses precision