Garip bir şekilde dvzMinPrc = minPrc * 3,5405 kısmından sonra warn(dvzMinPrc) kodunu ekleyince eşitmiş gibi davrandı. Silince tekrar eşit değilmiş gibi davranıyor...
Çözümü LINENET ve dvzMinPrc değişkenlerini STR() olarak stringe çevirip eşit mi değil mi diye kontrol ederek buldum. Yinede neden float iken eşit olmadığını merak ediyorum.
Cevap vermek için giriş yapmanız gerekmektedir.
Soru sormak için lütfen oturum açınız.
LOD SQL ile çekilen veri formatı
18/08/17 00:31   Tiger/Logo Object Designer (LOD)Merhaba,
LOD ile geliştirdiğimiz bir projede SQL üzerinden aşağıdaki şekilde veri çekmekteyiz.
Buradan gelen minPRC değişkeni 2,2 gibi bir değer ile dolmakta. Ardından bu değeri kullanarak bazı işlemler yapmaktayız.
Bu şekilde yazdığımız zaman dvzMinPrc değeri 7,7891 şeklinde ekrana warn olarak çıkmakta. LINENET değeri de aynı şekilde ekrana warn olarak çıkartıyorum. Ancak if koşulundaki eşitlik çalışmıyor , else ye giriyor. Her iki değeri ekranda 7,7891 görmeme rağmen.
minPrc değerini SQL üzerinden çekmeyip kendim minPrc = 2.2 dediğim zaman değerler yine 7,7891 oluyor ve if koşulu eşitmiş gibi davranıyor. Sorunun "." ve "," den kaynaklandığını düşündüm. SQL'e gönderdiğim sorguyu REPLACE(MIN(PRICE),",",".") şeklinde gönderiyorum. Geriye 2.2 dönüyor ancak yine eşit değilmiş gibi davranıyor.
Özetlemek gerekirse SQL üzerinden çekersem hesaplamaları doğru yapsa da çıkan sonuç LINENET'e eşit olsa da eşit değilmiş gibi davranıyor , SQL'den çekmeyip kendim bir değer atarsam yine hesaplamalar doğru oluyor ve LINENET'e eşit gibi davranıyor.
lod