Implicit conversion from float -128.5 to int loses precision