Implicit conversion from float -5.4375 to int loses precision