Aber wenn ich teils größere Zahlen als z.B. 21 verwende, sind sie auch wieder positiv.
Ein einfacher Test zeigt das Verhalten (Werteinhalt) einer Variablen bei (mehrfachen) Überlauf:
Delphi-Quellcode:
var
i : Integer;
s : ShortInt;
begin
for i := 125 to 260 do
begin
s := i;
Memo1.Lines.Add(IntToStr(s));
end;
Um Double-Werte zu formatieren, beitet sich die Funktion "Format" an:
Label1.Caption := Format('%.0f', [1234.5678]);
(Details zu Format siehe Hilfe)