sistem : firebird 2.5, fibplus ve delphi xe2 (updated) windows7 64 bit.
Kod: Tümünü seç
if dYMBP['HKS_PUANI'].AsFloat >= 0.96 then
extHKS := 1.05
else
extHKS := 1;
tabloda dYMBP['HKS_PUANI'].AsFloat değeri 0.96 ve HKS_PUANI alanı numeric(2,2).
eğer 0.96 değerini tabloda ve kodda 0.95 olarak değiştirirsem doğru çalışıyor .
Kod: Tümünü seç
if dYMBP['HKS_PUANI'].AsFloat >= 0.95 then
extHKS := 1.05
else
extHKS := 1;
0.95 değerini tabloda ve kodda tekrar 0.96 olarak yapıp aşağıdaki gibi uyarlarsam yine çalışıyor
Kod: Tümünü seç
extDeg = 0.96
if dYMBP['HKS_PUANI'].AsFloat >= extDeg then
extHKS := 1.05
else
extHKS := 1;
yani karşılaştırma işlemini bir değişkene atarsam çalışıyor.
aşağıdaki koduda denedim bu da çalışıyor
Kod: Tümünü seç
if math.CompareValue(dYMBP['HKS_PUANI'].AsFloat,0.96) in [0,1] then
extHKS := 1.05
problem nedir anlayamadım. birden fazla bilgisayarda 0.96 değeri ile ilgili debug yaptım (sistem aynı bilgisayarlar farklı) yine aynı sonuçları verdi? Sizce bu bir bug'mıdır. veri tabanı ile ilgisi olacağını zannetmiyorum zira değeri watch edince 0.96 değerini görüyorum. 0.95 0.97 sayılarını denedim hep doğru çalışıyor ama 0.96 değeri hep hatalı sonuç üretiyor. sanki 0.96 değerini hafizada alloc edemiyor gibi dicem ama 0.95 nasıl çalışıyor o zaman
Yardımlarınız için şimdiden teşekkürler;