工作需要,要将从MapInfo上取得的经纬度,转换成度分秒形式,即
原代码如下:
将经纬度格式转换成度分秒格式
//将经纬度格式转换成度分秒格式
//使用前,记得 uses Math
function ConvertLonLatToDegree(AValue: double): string;
var
iDegree : integer;
dMinute : double;
iMinute : integer;
dSecond : double;
iSecond : integer;
begin
iDegree := Trunc(AValue); //取出整数部分,即度
dMinute := Frac(AValue); //取小数部分
dMinute := dMinute * 60;
iMinute := Trunc(dMinute); //取出整数部分,即分
dSecond := Frac(dMinute); //取小数部分
iSecond := Trunc(dSecond * 60*100);
Result := Format('%d.%.2d%.4d',[iDegree,iMinute,iSecond]);
end;
//将经纬度格式转换成度分秒格式
//使用前,记得 uses Math
function ConvertLonLatToDegree(AValue: double): string;
var
iDegree : integer;
dMinute : double;
iMinute : integer;
dSecond : double;
iSecond : integer;
begin
iDegree := Trunc(AValue); //取出整数部分,即度
dMinute := Frac(AValue); //取小数部分
dMinute := dMinute * 60;
iMinute := Trunc(dMinute); //取出整数部分,即分
dSecond := Frac(dMinute); //取小数部分
iSecond := Trunc(dSecond * 60*100);
Result := Format('%d.%.2d%.4d',[iDegree,iMinute,iSecond]);
end;
如输入:104.153,得出:104.091116,即104度09分11.16秒
博客园类似文章:http://www.cnblogs.com/kaixin110/archive/2008/09/12/1290144.html