v.t. de value topl. ile edit topl. arasında ilginç durum?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
y.kulac
Üye
Mesajlar: 276
Kayıt: 08 Kas 2003 12:03
Konum: serdivan/sakarya

v.t. de value topl. ile edit topl. arasında ilginç durum?

Mesaj gönderen y.kulac »

s.a.

arkadaşlar firebird v.t. kullanıyorum. alanım float tipinde tanımlı. aşağıda iki tane kod var. dbeditlerin dispalyformat özellikleri ###,##0.00 şeklinde
1.kod

Kod: Tümünü seç

IBDATASET1TAHAKKUKTOPLAMI.Value:= STRTOFLOATDEF(DBEDIT30.Text,0)+STRTOFLOATDEF(DBEDIT31.Text,0)+
      STRTOFLOATDEF(DBEDIT32.Text,0)+STRTOFLOATDEF(DBEDIT33.Text,0)+STRTOFLOATDEF(DBEDIT34.Text,0)+
      STRTOFLOATDEF(DBEDIT35.Text,0)+STRTOFLOATDEF(DBEDIT36.Text,0)+STRTOFLOATDEF(DBEDIT37.Text,0)+
      STRTOFLOATDEF(DBEDIT38.Text,0)+ STRTOFLOATDEF(DBEDIT39.Text,0)+ STRTOFLOATDEF(DBEDIT17.Text,0)+
      STRTOFLOATDEF(DBEDIT41.Text,0)+STRTOFLOATDEF(DBEDIT42.Text,0)+ STRTOFLOATDEF(DBEDIT43.Text,0);
2.kod

Kod: Tümünü seç

IBDATASET1TAHAKKUKTOPLAMI.Value:=IBDATASET1TABANAYLIK.Value+IBDATASET1AYLIKMAAS.Value+
       IBDATASET1KIDEMAYLIK.Value+IBDATASET1OZHIZTAZ.Value+IBDATASET1YANODTAZ.Value+
       IBDATASET1EKGOSAYLIK.Value+IBDATASET1DILTAZ.Value+IBDATASET1MAKAMTAZ.Value+
       IBDATASET1HAKIMLIKTAZ.Value+IBDATASET1MALITAZ.Value+IBDATASET1EKTAZMINAT.Value+
       IBDATASET1KUREMKES.Value+IBDATASET1AILEYAR.Value+IBDATASET1COCYAR.Value;
bu iki toplam arasında 11 kuruş fark var.
1. kodun toplamı = 42.702,04
2.kodun toplamı = 42.702,15
mantık olarak arasında ne fark var. veritabanındaki alana baktığım zaman virgülden sonraki alanlar editlerdeki gibi 2 haneli değil 45.25897744 gibi.

veritabanındaki alanlarında virgülden sonra iki haneli olması sağlanabilir mi?

iyi çalışmalar
En son y.kulac tarafından 16 May 2005 02:59 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Mesaj gönderen ALUCARD »

firebirrde para alanlarını float olarak kullanma derim ben onun yerine double pr... sonunu tam olarak hatırlayamadım ama böyle bir tip tanımı var onu kullan
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Kullanıcı avatarı
y.kulac
Üye
Mesajlar: 276
Kayıt: 08 Kas 2003 12:03
Konum: serdivan/sakarya

Mesaj gönderen y.kulac »

hocam alanı dobule precesion yapınca sorun kısmen çözüldü.
ama bu sefer toplamın 42.702,09 olması gerekirken 42.702,05 yaptı
ne kadar ilginç bir durum float yapınca 6 kuruş fazla topluyor.
double precision yapınca 4 kuruş az topluyor :?:
Kullanıcı avatarı
y.kulac
Üye
Mesajlar: 276
Kayıt: 08 Kas 2003 12:03
Konum: serdivan/sakarya

Mesaj gönderen y.kulac »

teşekkür ederim.

veritabanındaki bütün float alanları double precesion yapınca sorun çözüldü.
demekki firebird veritabanında parasal alanları double precesion yapmak en doğru sonucu veriyor.

herkese iyi çalışmalar.
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Mesaj gönderen ALUCARD »

:lol: :lol: yardımcı olabildiysek ne mutlu bize :lol: :lol: :lol:
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

Mesaj gönderen oguzozturk74 »

Parasal alanlar için ben de Double Precision kullanıyorum ve bir sorun çıkmıyor .
Cevapla