Difference between revisions of "FixD"
From SCAR Divi Manual
(→Definition) |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 13: | Line 13: | ||
Result := Abs(Degrees); | Result := Abs(Degrees); | ||
Result := (Floor(Result) mod 360 + DecRet(Result)) * t; | Result := (Floor(Result) mod 360 + DecRet(Result)) * t; | ||
− | if Result < 0 then | + | if Result < 0 then Result := Result + 360; |
end; | end; | ||
</source> | </source> | ||
Line 21: | Line 21: | ||
==Description== | ==Description== | ||
− | Fixes an angle specified by '''Degrees''' in [http://en.wikipedia.org/wiki/Degree_%28angle%29 degrees] by adding/subtracting 360 until the value is | + | Fixes an angle specified by '''Degrees''' in [http://en.wikipedia.org/wiki/Degree_%28angle%29 degrees] by adding/subtracting 360 until the value is part of the range [0,360[. |
==Example== | ==Example== | ||
<source lang="scar"> | <source lang="scar"> | ||
begin | begin | ||
− | WriteLn(FixD( | + | WriteLn(FixD(180)); |
− | WriteLn(FixD( | + | WriteLn(FixD(-180)); |
+ | WriteLn(FixD(360)); | ||
+ | WriteLn(FixD(540)); | ||
end. | end. | ||
</source> | </source> | ||
Output: | Output: | ||
− | + | 180 | |
− | + | 180 | |
+ | 0 | ||
+ | 180 | ||
==See Also== | ==See Also== |
Latest revision as of 10:29, 1 July 2011
Definition
function FixD(Degrees: Extended): Extended;
Source
function FixD(Degrees: Extended): Extended; var t: Integer; begin if Degrees < 0 then t := -1 else t := 1; Result := Abs(Degrees); Result := (Floor(Result) mod 360 + DecRet(Result)) * t; if Result < 0 then Result := Result + 360; end;
Availability
SCAR Divi 3.00 > Current
Description
Fixes an angle specified by Degrees in degrees by adding/subtracting 360 until the value is part of the range [0,360[.
Example
begin WriteLn(FixD(180)); WriteLn(FixD(-180)); WriteLn(FixD(360)); WriteLn(FixD(540)); end.
Output:
180 180 0 180