TNumberbox- und TSpinEdit-Rückgabewerte definiert als Typ single. Ich möchte diese Werte verwenden, um einfache Integer-Arithmetik durchzuführen, aber ich kann sie nicht erfolgreich in den verallgemeinerten Integer-Typ umwandeln, und Delphi gibt mir Kompilierungsfehler, wenn ich versuche, sie einfach als Ganzzahlen zu verwenden. Dieser Code zum Beispiel nicht mitDelphi TNumberbox gibt single zurück; Wie komme ich zu einer Standard-Ganzzahl?
"E2010 Inkompatible Typen: 'Int64' und 'Erweitert'":
var
sMinutes: single;
T: TDatetime;
begin
sMinutes :=Numberbox1.value;
T :=incminute(Now,sMinutes);
Alles, was ich hier tun möchte, ist der Benutzer geben Sie mir eine Anzahl von Minuten und erhöhen Sie dann einen Datetime-Wert entsprechend. Nichts, was ich versucht habe, ermöglicht es mir, diese Single auf diese Weise zu verwenden.
Was vermisse ich?
Nun, das war einfach! Klappt wunderbar. Danke für die sofortige Antwort. – user1248816
Ich würde jedoch stattdessen ROUND verwenden, da ein Wert von 1,999999 wahrscheinlich richtiger ist, wenn er als 2 und nicht als 1 interpretiert wird. Und ein Wert "sehr nahe an einem ganzzahligen Wert, aber nicht ganz da" ist in der Tat sehr gut möglich Gleitkommawerte - auch wenn Sie das Steuerelement so eingerichtet haben, dass nur ganzzahlige Werte zulässig sind. – HeartWare
@HeartWare, das ist ein guter Punkt. Sie sollten das als eine alternative Antwort hinzufügen. Wenn Sie aus irgendeinem Grund nicht möchten, werde ich meine Antwort bearbeiten, um die Informationen bereitzustellen. –