Implicit conversion from float -46.171875 to int loses precision