Implicit conversion from float -3.1578947368421098 to int loses precision