selam arkadaşlar.
1.789.500 lirayı 1.750.000`e
1.749.500 lirayı 1.700.000`e yuvarlamak istiyorum. Bunu nasıl yapabilirim?
iyi çalışmalar
yuvarlama
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
merhaba erkan,
excel deki yuvarlama fonksiyonları gibi olduğunu düşünürsek,
olabilir herhalde 
excel deki yuvarlama fonksiyonları gibi olduğunu düşünürsek,
Kod: Tümünü seç
function AsagiYuvarla(sayi : String; Basamak : Integer) : String;
var
x, lng : Integer;
ilk, yvr, sifir : String;
begin
lng := Length(sayi);
ilk := Copy(sayi, 1, lng - basamak);
yvr := Copy(sayi, lng - (basamak - 1), 1);
if StrToInt(yvr) >= 5 then
yvr := '5'
else
yvr := '0';
for x := 1 to basamak - 1 do
sifir := sifir + '0';
result := ilk + yvr + sifir;
end;

Verdiğiniz örneklerin ortak yanı olarak 50,000'in katlarına ve aşağı yuvarlama yapılıyor galiba. Eğer öyle ise 50,000'e bölüm aşağı yuvarlama yapip sonucu 50,000 ile çarpmanız yeterli.
int yerine round kullanırsanız 50,000'in katlarına yuvarlamayı yakın olan tarafa yapmış olursunuz.....
Kod: Tümünü seç
YUVARLANMIS_SONUC:=int(YUVARLANACAK_RAKAM/50000)*50000;