double değişken 0 hatası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
alixyas
Üye
Mesajlar: 45
Kayıt: 12 Eyl 2003 11:53
Konum: hatay
İletişim:

double değişken 0 hatası

Mesaj gönderen alixyas »

S. A.

a ve b double değişkenler
a:=45017,45
b:=45017,45
a-b işleminin sonucu 0 (sıfır) olması gerekirken -2.......E-13 gibi bi rakam çıkıyor.
bu sorunu nasıl çözebilirim. Herkese iyi çalışmalar.
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: double değişken 0 hatası

Mesaj gönderen Lost Soul »

double'da küsürat konusunda böyle sıkıntılar oluşuyor.
currency ya da extended kullanın.
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: double değişken 0 hatası

Mesaj gönderen sabanakman »

alixyas yazdı:S. A.

a ve b double değişkenler
a:=45017,45
b:=45017,45
a-b işleminin sonucu 0 (sıfır) olması gerekirken -2.......E-13 gibi bi rakam çıkıyor.
bu sorunu nasıl çözebilirim. Herkese iyi çalışmalar.
Currency tipi çözüm olacaktır, sorunun nedeni ise sayılar bellekte ikili sayı sisteminde temsil edildiği için ideal değerinde tutulamaz çok küçük boyutlarda kırpılmalar veya yuvarlamalar olmaktadır. Verdiğiniz -2.......E-13 rakamı aslında -2... x 10 üzeri -13 gibi bir rakama karşılık gelir ve bu da aslında neredeyse sıfıra eşittir. Tabi bu durumda bir yerden sonraki küsüratları ihmal etmek çözüm olacaktır ve Currency tipi sizin için bunu otomatik yapacaktır.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Cevapla