yuvarlama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
eduran
Üye
Mesajlar: 52
Kayıt: 03 Tem 2003 04:02

yuvarlama

Mesaj gönderen eduran »

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
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

merhaba erkan,
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;

olabilir herhalde :wink:
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

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.

Kod: Tümünü seç

YUVARLANMIS_SONUC:=int(YUVARLANACAK_RAKAM/50000)*50000;
int yerine round kullanırsanız 50,000'in katlarına yuvarlamayı yakın olan tarafa yapmış olursunuz.....
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7601
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba

RoundTo fonksiyonu da işinizi görür.

Kolay gelsin.
Cevapla