Und für diejenigen, die nicht ohne Nachkommastellen auskommen können:
Delphi-Quellcode:
// Eingangswertebereich: -360.00 bis 360.00 Grad als FLießkommazahl
// Wer das bis ins plus minus Unendliche haben möchte, soll sich das doch selber stricken
function tand(
const X: Double;
const Epsilon: Double = 0): Double;
var
Rad: Double;
begin
if SameValue(Abs(X), 90.0, Epsilon)
or SameValue(Abs(X), 270.0, Epsilon)
then
begin
Result := System.Math.NaN;
end
else
begin
Rad := DegToRad(X);
Result := System.Math.Tan(
Rad);
end;
end;