我现在有一些位置的坐标,如纬度和经度,如此
Lat = 16.0490143029144 Lng = 108.197069205344
我想把它转换成这样的程度
我不知道该怎么做,需要你的帮助。
提前感谢。
答案 0 :(得分:2)
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
);
添加对空值,零和数据超出范围的检查。