Conversion degré décimal en deg min sec et vice -versa

Contenu du snippet

Je sais ce n'est pas ni date ni heure mais ça ressemble
les fonctions TimeToStr, etc... ne fonctionne pas après 24h

Source / Exemple :


function DegEnDec(D, M, S : String): String;
var
   X , Y, Z: real;
   i : integer;
   Alpha : String;
begin
   X := StrToInt(D) ;
   Y := StrToInt(M) / 60;
   Val ( S, Z, i);
   Z := Z / 3600;
   X := X + Y + Z;
   Str( X : 3: 6, Alpha);
   Result := Alpha;
end;

function DegDecToDMS( DegDec : Real ):String;
var
  Tmp : real;
  S : string;

      function DeuxCar( S1 : String): String;
      begin
         if length(S1)=1 then Result := '0'+S1 else Result := S1; 
      end;

begin
    S := ''; 

    S := inttostr(trunc(DegDec));  // récup la partie entiére
    Tmp := Frac(DegDec);   // renvoi la partie décimale

    Tmp := Tmp * 60;
    S := S + '°' + DeuxCar( inttostr(trunc(Tmp)));

    Tmp := Frac(Tmp)*60;
    S := S + chr(39) + DeuxCar( inttostr(trunc(Tmp)));

    Tmp := Frac(Tmp)*1000;

    S := S + '"' + inttostr(trunc(Tmp));

    Result := S;
end;

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.