Implicit conversion from float -2.5 to int loses precision