[SORU]-Değer Toplama Hatası !!!

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
hi_selamlar
Üye
Mesajlar: 523
Kayıt: 05 May 2005 03:24
Konum: DelphiTürkiye.COM

[SORU]-Değer Toplama Hatası !!!

Mesaj gönderen hi_selamlar »

S.A.

Arkadaşlar aciyip bir durumla karşı karşıya kaldım. İnanın araştırmalar denemeler yapmama rağmen bir türlü düzeltemedim.

Şöyleki ; Fatura girmeyi düşünün...

Kod: Tümünü seç

[b]Miktar         : 50 
Fiyat           : 8,80
Ara Toplam : 50*8.80 = 440 (Doğru)
Kdv%8 : 440 / 100 * 8 = 35,2 (Doğru)
Genel Toplam : 475 (Yanlış çıkıyor)  Doğru sonuç ise 475.2 çıkması lazım[/b]
Neden böyle bir işlem yapıyor. arkadaşlar inanın kafayı yemek üzereyim. az kaldı.. :N(
Lütfen bu işlemi çözen,bilen veya duyan lütfen yardımlarınızı bekliyorum.

Teşekkürler.
Herkes cahildir, bazi konularda.
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: [SORU]-Değer Toplama Hatası !!!

Mesaj gönderen Battosai »

Ondaklık ayraç hatası olabilir veya değişken tanımında...bir şey söylemek zor. Nerde, nasıl yapıyorsunuz işlemi ve sonuçlar nerede gösteriliyor... kodları ve tanımları yazarsanız cevap gelebilir...yada daha açıklayıcı yazın meramınızı.
Kullanıcı avatarı
hi_selamlar
Üye
Mesajlar: 523
Kayıt: 05 May 2005 03:24
Konum: DelphiTürkiye.COM

Re: [SORU]-Değer Toplama Hatası !!!

Mesaj gönderen hi_selamlar »

S.A.

NumericEdit içerisine değerler giriliyor.
Girilen bu değerler üzerinden değişkenlere aktarılıyor.
Kod aşağıda...

Kod: Tümünü seç


procedure TF_Deneme.hesaplama;
var
fiyat, miktar, kdv_orani, kdv_tutari, ara_toplam, borc: Extended;
begin

        fiyat:=0;
        miktar:=0;
        kdv_orani:=0;
        kdv_tutari:=0;
        ara_toplam:=0;
        borc:=0;


        if NumericEdit1.Value>0 then fiyat:=NumericEdit1.Value; 
        if NumericEdit2.Value>0 then miktar:=NumericEdit2.Value; 
        if NumericEdit5.Value>0 then kdv_orani:=NumericEdit5.Value;


        if (fiyat<=0) and (miktar<=0) then exit;

        ara_toplam:=fiyat*miktar;

        if kdv_orani>0 then
               
                kdv_tutari:=(((ara_toplam)/100)*kdv_orani);
        else
                kdv_tutari:=0;


        NumericEdit7.Value:=ara_toplam;
        NumericEdit6.Value:=kdv_tutari;
        NumericEdit8.Value:=ara_toplam+kdv_tutari;
end;

Herkes cahildir, bazi konularda.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: [SORU]-Değer Toplama Hatası !!!

Mesaj gönderen aslangeri »

s.a.
problem acaa hesaplama yaparken mi oluşuyor yoksa sonucu ekranda gösterirkenmi oluşuyor
aratoplam+kdvtutarini once bir deişkene atın.sonra numericedite atın.
ilgili satıra breakpoint koyup değişken lerin değerlerini kontrol edin.
eğer değişkenlerin değerleri doğru ise numericedit in ayarlarını kurcalayın.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: [SORU]-Değer Toplama Hatası !!!

Mesaj gönderen orhancc »

Kullandığın edit ondalık kısmını kabul etmiyor muhtemelen hesaplama doğru çünkü.
Kullanıcı avatarı
hi_selamlar
Üye
Mesajlar: 523
Kayıt: 05 May 2005 03:24
Konum: DelphiTürkiye.COM

Re: [SORU]-Değer Toplama Hatası !!!

Mesaj gönderen hi_selamlar »

S.A.

arkadaşlar ne yaptıysam olmadı.

Şöyleki ;

Kod: Tümünü seç

fiyat : 9.50 (KDV DAHİL)
kdv % : 8
miktar : 10
bunun sonucunda ne olursa olsun toplamın 95 TL yapması lazım
ama delphi ile bunu bir türlü başaramadım !!! :oops:

Bu durumu nasıl aşacağım.

EK'TE ÖRNEK ÇALIŞMA VAR... KDV DAHİL OLARAK HESAPLAMADA SORUN ÇIKIYOR...

Saygılar.
Teşekkürler.
Dosya ekleri
TOPLAMA.zip
ORNEK TOPLAMA
(203.8 KiB) 70 kere indirildi
Herkes cahildir, bazi konularda.
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: [SORU]-Değer Toplama Hatası !!!

Mesaj gönderen conari »

Gönderdiğiniz exe 95 yapıyor. Ara toplam ve KDV yi yuvarlamayı unutmayın.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
hi_selamlar
Üye
Mesajlar: 523
Kayıt: 05 May 2005 03:24
Konum: DelphiTürkiye.COM

Re: [SORU]-Değer Toplama Hatası !!!

Mesaj gönderen hi_selamlar »

conari yazdı:Gönderdiğiniz exe 95 yapıyor. Ara toplam ve KDV yi yuvarlamayı unutmayın.
Hocam birde Miktarı 50 olarak hesaplat lütfen.
sonuç hatalı çıkıyor. :Noops :Nevil :N( :oops:

İnanın ne yapacağımı bir türlü bilemiyorum. ne yaptıysam olmadı. kafayı yedim..

arkadaşlar lütfen. bilgisi olan vaya yönlendirecek bir arkadaş yok mu ...

Excel de sonuç doğru çıkıyor. AMA DELPHI SONUCU HATALI DÖNDÜRÜYOR.............

Lütfen......
Herkes cahildir, bazi konularda.
Kullanıcı avatarı
ErhanKubat
Üye
Mesajlar: 2
Kayıt: 24 Ağu 2010 08:14

Re: [SORU]-Değer Toplama Hatası !!!

Mesaj gönderen ErhanKubat »

s.a. arkadaşım

umarım işine yarar.


procedure TForm1.Button1Click(Sender: TObject);
var
fiyat, fiyat_1, miktar, kdv_orani, kdv_tutari, ara_toplam, borc: currency;
begin
fiyat:=0; miktar:=0; kdv_orani:=0; kdv_tutari:=0; ara_toplam:=0; borc:=0;
fiyat_1:=0;
if StrToFloat(Edit2.Text)>0 then miktar:=StrToFloat(Edit2.Text);
if StrToFloat(Edit3.Text)>0 then kdv_orani:=StrToFloat(Edit3.Text);
fiyat:=StrToFloat(Edit1.Text)/((kdv_orani/100)+1);
Edit7.Text:=formatfloat('#,##0.00',fiyat);
if (fiyat<=0) and (miktar<=0) then exit;
ara_toplam:=fiyat*miktar;
if kdv_orani>0 then
kdv_tutari:=(((ara_toplam)/100)*kdv_orani)
else kdv_tutari:=0;
Edit4.Text:=formatfloat('#,##0.00',ara_toplam);
Edit5.Text:=formatfloat('#,##0.00',kdv_tutari);
Edit6.Text:=formatfloat('#,##0.00',ara_toplam+kdv_tutari);
end;
Kullanıcı avatarı
hi_selamlar
Üye
Mesajlar: 523
Kayıt: 05 May 2005 03:24
Konum: DelphiTürkiye.COM

Re: [SORU]-Değer Toplama Hatası !!!

Mesaj gönderen hi_selamlar »

ErhanKubat yazdı:s.a. arkadaşım
umarım işine yarar.
S.A.
Teşekkür ederim arkadaşım.
Verdiğin örnek te de sonuç yanlış çıkıyor.

Örnek verecek olursam;
fiyat : 9,50 TL (KDV Dahil)
Miktar : 50
Kdv % : 8

basit bir mantıkla genel toplam 475 TL Olması lazım.
ama sonuç -1 veya -2 veya +1 +2 şeklinde çıkıyor.
Hocam senin verdiğin sonuçta ise;
ara toplam : 439,82
kdv : 35,19
genel toplam : 475,01 >>>SONUÇ HATALI
umarım sıkıntıyı anlatabilmişimdir. İnanın 1 haftadır bakıyorum. neler denemedim neler.
fakat bir türlü sonuç doğru değil...

Arkadaşlar bu konuda yardımcı olabilecek arkadaşlar Lütfen.......
Herkes cahildir, bazi konularda.
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: [SORU]-Değer Toplama Hatası !!!

Mesaj gönderen orhancc »

Kod: Tümünü seç

function TForm1.KDVHesapla(Fiyat,Miktar,KDV:Currency): Currency;
var
kdv_tutari, ara_toplam, borc: Extended;
begin
  kdv_tutari:=0;
  ara_toplam:=0;
  borc:=0;

  if (fiyat<=0) and (miktar<=0) then exit;

  ara_toplam:=fiyat*miktar;

  kdv := 1+ kdv/100;
  if KDV>0 then
     kdv_tutari:= ara_toplam - (ara_toplam / kdv)
  else
     kdv_tutari:=0;
   kdv_tutari := RoundTo(kdv_tutari,-2);
   ara_toplam := ara_toplam - kdv_tutari;
  txtAra.Text := CurrToStr(ara_toplam);
  txtkdv.Text := CurrToStr(kdv_tutari);
  txtToplam.Text := CurrToStr(ara_toplam+kdv_tutari);
end;
Kullanımı :

Kod: Tümünü seç

 KDVHesapla(9.5,1,8);
Cevapla