Implicit conversion from float -43.5 to int loses precision