Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
Delphi 12 Athens
|
AW: IF-Anweisung
25. Nov 2011, 19:05
Zitat:
raise Exception.CreateFmt( 'Wert %f ungültig. (0° <= Wert < 360°)', [ Value ] );
Stattdessen könnte man auch einfach den Wertebereich anpassen, denn als Kreisfunktion (unendlich wiederholend) gibt es auch Winkel kleiner 0° und größer/gleich 360°.
Für eine "genaue" Prüfung muß man also eigentlich nur die Werte in den gewünschen Bereich (0 <= w < 360) verschieben.
Delphi-Quellcode:
w := w mod 360;
if w < 0 then Inc(w, 360);
// oder
w := (w mod 360 + 360) mod 360;
// oder
w := w mod 360 + (Max(-Sign(w), 0) * 360);
// oder
w := w mod 360 - Sign(Min(w, 0)) * 360;
// oder
...
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
Geändert von himitsu (25. Nov 2011 um 19:08 Uhr)
|