Implicit conversion from float -3.1005586592178815 to int loses precision