将纬度和经度转换为度数

Convert latitude and longitude to degree

我现在有一些位置的坐标作为纬度和经度,就像这样

纬度 = 16.0490143029144 Lng = 108.197069205344

我想把它转换成这样的学位

我不知道怎么做,需要你的帮助。

提前致谢。

            double lat = -86.0490143029144;
            double lon = -45.197069205344;

            string latDir = (lat >= 0 ? "N" : "S");
            lat = Math.Abs(lat);
            double latMinPart = ((lat - Math.Truncate(lat) / 1) * 60);
            double latSecPart = ((latMinPart - Math.Truncate(latMinPart) / 1) * 60);

            string lonDir = (lon >= 0 ? "E" : "W");
            lon = Math.Abs(lon);
            double lonMinPart = ((lon - Math.Truncate(lon) / 1 ) * 60);
            double lonSecPart = ((lonMinPart - Math.Truncate(lonMinPart) / 1) * 60);

            Console.WriteLine(
                Math.Truncate(lat) + " " + Math.Truncate(latMinPart) + " " + Math.Truncate(latSecPart) + " " + latDir             
                );

            Console.WriteLine(
                Math.Truncate(lon) + " " + Math.Truncate(lonMinPart) + " " + Math.Truncate(lonSecPart) + " " + lonDir
                );

添加对空值、零和超出范围的数据的检查。