TagLib.IFD.IFDTag.DegreeToRationals C# (CSharp) Method

DegreeToRationals() private method

Converts a given (positive) angle value to three rationals like they are used to store an angle for GPS data.
private DegreeToRationals ( double angle ) : TagLib.IFD.Entries.Rational[]
angle double /// A between 0.0d and 180.0d with the angle /// in degrees ///
return TagLib.IFD.Entries.Rational[]
        private Rational[] DegreeToRationals(double angle)
        {
            if (angle < 0.0 || angle > 180.0)
                throw new ArgumentException ("angle");

            uint deg = (uint) Math.Floor (angle);
            uint min = (uint) ((angle - Math.Floor (angle)) * 60.0);
            uint sec = (uint) ((angle - Math.Floor (angle) - (min / 60.0))  * 360000000.0);

            Rational[] rationals = new Rational [] {
                new Rational (deg, 1),
                new Rational (min, 1),
                new Rational (sec, 100000)
            };

            return rationals;
        }