In C#, you can use this formula to account for the floats issues with zero; (Math.Abs(priorDegreePosition - degreePosition) < double.Epsilon) As the other writers mentioned, this number of -1.38778e-016, is pretty close to zero. If you were to move the decimal over the 16 place-holders, it would round to zero. Therefore, it sounds more of a formatting issue you are dealing with in your C++ example. In my statement above, C# has the smallest value for doubles/floats in the Epsilon.
Ben Scharbach Temporalwars.Com YouTube:Ben Scharbach