Einzelnen Beitrag anzeigen

Furtbichler
(Gast)

n/a Beiträge
 
#9

AW: DaysBetween und Mitternacht

  Alt 14. Okt 2013, 07:47
Das ist Overkill. Zudem kann bei der Differenz zweier Float-Zahlen statt 1 durchaus 1.00000001 herauskommen. '< 1' ist also auch nicht geeignet, Rundungsfehler zu kompensieren.

'Trunc' liefert bereits einen Integer-Wert: Die Differenz zweier 'Trunc'-Resultate ist ergo wieder ein Integer. Wozu diesen also in einen Double-Wert umwandeln?

Also wäre ein die Auswertung als Ganzzahl nicht nur logisch richtig, sondern auch einfacher zu verstehen. Die Anzahl der Tage zwischen zwei Daten ist -vom Verständnis her- eine ganze Zahl.

Delphi-Quellcode:
Var
  AnzahlTage : Integer;

Begin
  AnzahlTage := Trunc (Now) - Trunc(Datum);
  Case AnzahlTage Of
    +1 : Writeln('Das Datum war gestern');
     0 : Writeln('Das Datum ist Heute');
    -1 : Writeln('Das Datum ist morgen');
   else Writeln ('Das Datum ist irgendwann');
  end
...

Geändert von Furtbichler (14. Okt 2013 um 07:51 Uhr)
  Mit Zitat antworten Zitat