kdv dahil faturada yuvarlama problemi.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Akin_Delphi
Üye
Mesajlar: 163
Kayıt: 06 Nis 2006 12:22

Re: saol

Mesaj gönderen Akin_Delphi »

iqprog yazdı:akın arkadaş saolasın ama.
aması var

senin yazdığın cevapla benim sorumun bi alakası yok problem orada.

yine de çok saol
ellerin dert görmesin
Rica ederim. Şimdi farkettim sizin aslında yuvarlatmalarda sorun yaşadığınız kusura bakmayın.

Şimdi bir şey dikkatimi çekti. Verileri aşağıdaki şekilde vermişsiniz:
kdv oranı : %18
kdv hariç fiyat : 84.75
kdv : 15.25
toplam : 100
Bunları atadığınız değişkenlerin türü nedir? Interger mı, real mi?

Şimdi ben programda FaturaKalemiHesapla diye bir prosedür oluşturmuşum. Bu prosedür şöyle :

Kod: Tümünü seç

procedure TfrmMain.FaturaKalemiHesapla;
var
brut, gecici, KDVOrani : double;
begin
try
  //burada KDV dahil seçildiğinde otomatik
  //olarak KDV dahil fiyatı hesaplayacağım
    KDVOrani := VeriModulu.TabloFatKDV.Value; //integer alanı
    gecici := VeriModulu.TabloFatTop.Value; //currency alanı
    brut := (gecici / (1+(KDVOrani / 100)));
    VeriModulu.TabloFatTop.Value := brut;
    VeriModulu.TabloFatTopKDVTutar.Value := brut * (KDVOrani/100);
    VeriModulu.TabloFatTopTopArtiKDV.Value :=   
    VeriModulu.TabloFatTop.Value +
    VeriModulu.TabloFatTopKDVTutar.Value;
except
end;
end;
Yani double tipli değişkenler kullanarak yuvarlatma sorununu çözmüşüm. Ancak bunu D5.1'de yaptım. Diğerlerinde nasıl olur hiç bir fikrim yok.

Başarılar ve Saygılar
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Re: saol

Mesaj gönderen aLonE CoDeR »

Akin_Delphi yazdı: Şimdi bir şey dikkatimi çekti. Verileri aşağıdaki şekilde vermişsiniz:
kdv oranı : %18
kdv hariç fiyat : 84.75
kdv : 15.25
toplam : 100
Bunları atadığınız değişkenlerin türü nedir? Interger mı, real mi?
Integer olduğunu varsayarsak derlemeyi nasıl yapmayı düşünüyorsun :shock:
Akin_Delphi
Üye
Mesajlar: 163
Kayıt: 06 Nis 2006 12:22

Re: saol

Mesaj gönderen Akin_Delphi »

bLue aLonE yazdı:
Integer olduğunu varsayarsak derlemeyi nasıl yapmayı düşünüyorsun :shock:
:oops: :oops: Kem küm, ancak benim integer kullanmadığım kesin. :D
Saygılarımla
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

:D
iqprog

extended

Mesaj gönderen iqprog »

extended
turgay
Üye
Mesajlar: 25
Kayıt: 22 Nis 2004 12:33

kdv

Mesaj gönderen turgay »

merhaba

ben aynı sorunu kdv alacağım rakamı yuvarlamadan kdvsini alarak çözdüm. yani faturadaki tutarlar, indirimler genel toplamlar gibi alanların son haline 3 üncü basamağı kontrol ederek yuvarlıyorum. ama kdv alırken tutarı yuvarlamadan kdvsini alıyorum her zaman. senin örneğinde olduğu gibi 84,75 in kdvsini değilde 100/1.18 den çıkan rakamın direk 1.18 ini alıyorum.

100/1.18 = 84,745....... vs
84,745......*1.18
Cevapla