Implicit conversion from float -4.5 to int loses precision