function Yuvarla(deger: extended): extended;
var
yeni, kez: integer;
sayi: extended;
sayi2: extended;
const
ikimilyar: extended = 2000000000;
olcu: extended = 1000; //sayiyi 1000'e yuvarlama
begin
if deger <= 2147483647 then
begin
yeni := round(deger);
result := ((yeni div olcu) * olcu) + (byte((yeni MOD olcu)
>= (olcu/2)) * olcu);
end
else
begin
kez := 0;
while deger > MaxInt do
begin
deger := deger - ikimilyar;
inc(kez);
end;
yeni := round(deger);
sayi := ikimilyar * kez;
sayi2 := ((yeni div olcu) * olcu) + (byte((yeni MOD olcu)
>= (olcu/2)) * olcu);
result := sayi + sayi2;
end;
end;