Implicit conversion from float -21.5625 to int loses precision