sayı yuvarlama işini anlayamadım...

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
serkan
Üye
Mesajlar: 666
Kayıt: 10 Tem 2003 12:08
Konum: bursa

sayı yuvarlama işini anlayamadım...

Mesaj gönderen serkan »

merhaba arkadaşlar..
sorunumu şöyle anlatayım projemde bir malzeme ihtiyaç raporu çıkarıyorum.Rapor stokların gr. cinsinden ihtiyacını veriyor.Şimdi şöyle bir istek geldi..Diyelimki firmaya 80 kg.(80.000 Gr) şeker lazım fakat şeker 50kg.lık çuvallarda kullanıcı bunu 80 Kg. veremiyor.2 çuval yani 100 kg.şeker vermesi lazım ve 20 kg.da beklemede kalması lazım.Şimdi stok kartına ambalaj bilgisi yazıp. 80/50=1,xxx gibi bir rakam çıkacak bunu bir döngü ile tabloyu baştan sona tarayıp ambalajdaki ağırlığa böldürüp yukarı doğru yuvarlamam gerekli.Diyelimki 1,5 yani virgülden sonraki rakam 5 veya üstü ise hadi hallettik ama benim projemde 1,000001 bile olsa 2 ye tamamlanması lazım..Bu konuda bir fikir bir kod rica etsem çok makbule geçecek..
ulu coder
Üye
Mesajlar: 838
Kayıt: 01 Nis 2006 06:46
Konum: Ankara

Mesaj gönderen ulu coder »

if trunc(floatdeger)<floatdeger Then ...

Bi deneyin. Trunc tamsayı kısmı geri döndürüyor.
Eğer tamsayı kısmı sayıdan küçükse...
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

Kod: Tümünü seç

uses math
...

SetRoundMode(rmUp);
Sayi := RoundTo(1.00000000772,0); //  Sayi = 2 olur
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
serkan
Üye
Mesajlar: 666
Kayıt: 10 Tem 2003 12:08
Konum: bursa

Mesaj gönderen serkan »

hocam tam olarak projeye uygulamadım ama trunc fonksiyonunu işe yarayacak gibi duruyor sağolasın şöyleki;80/50:=1,XXX çıkıyor ben sonucun tam sayı kısmını alıp 1 ekliyorum,yani 1+1=2 şeklinde yuvarlama yapıyor.Burada kontrol edilecek tek şey sonuç tam sayı çıkıyorsa bidaha 1 eklememem lazım onuda dediğin gibi küçüktür işareti ile hallediyorum.Kolay gelsin
Cevapla