Invalid Floating Point Hatası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ADNAN
Üye
Mesajlar: 57
Kayıt: 19 Haz 2003 06:57
Konum: ISTANBUL

Invalid Floating Point Hatası

Mesaj gönderen ADNAN »

Interbase 6.0 ve Delphi 5 Platformunda ;
Database de alanlar decimalli olarak tarif edilmiş. ( Miktar Nümeric / 3
Tutar Nümeric / 2
Br.Fiyat Nümeric / 4)

Fakat karşıma öyle bir rakamlar çıkıyor ki ;
örnek verecek olursak TUTAR : 727
MIKTAR : 0,788

Br.FİYAT ı bulurken yuvarlama işlemine geçmeden ........

Bölme işleminde :
Invalid floating Point hatası ile karşılıyorum.

Çözüm önerilerinize şimdiden teşekkürler.
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

merhaba.
işlemin yapıldığı kod bloğunu gönderirsen aldığın hata daha kısa sürede çözüme kavuşur. aldığın hata ya gelince ondalık sayı formatının yanlış olduğunu söylüyor.
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez.

Mevlana

OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
ADNAN
Üye
Mesajlar: 57
Kayıt: 19 Haz 2003 06:57
Konum: ISTANBUL

Mesaj gönderen ADNAN »

Query1FIYAT.AsFloat := Query1TUTAR.AsFloat / Query1MIKTAR.AsFloat;

Bu bölme işleminde hatayı veriyor. Ve birim fiyat hesaplamak için de mutlaka bölmek gerekiyor.
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

merhaba

Kod: Tümünü seç

Query1FIYAT.AsFloat := Query1TUTAR.AsFloat / Query1MIKTAR.AsFloat; 
ben kodu denedim çalışıyor bi problem yok. sorun burdan değilde başka bir yerden kaynaklanıyor olabilir. yani bölme işleminde değilde formatlanırken felan olabilirmi.
kolay gelsin..
En son kadirkurtoglu tarafından 03 Eki 2005 02:20 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez.

Mevlana

OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
ADNAN
Üye
Mesajlar: 57
Kayıt: 19 Haz 2003 06:57
Konum: ISTANBUL

Mesaj gönderen ADNAN »

727 yi 0,788 e böldüğü zaman ortaya

922,588832487309612345678901234678901234567890


floating point olarak kabul edemeyeceği bir rakam çıkıyor.
ADNAN
Üye
Mesajlar: 57
Kayıt: 19 Haz 2003 06:57
Konum: ISTANBUL

Mesaj gönderen ADNAN »

Div aritmetic operation da integer bölümü kullanıyor sanırım... Tam tersi yani...
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

tamam adnan bey o kısmı düzelttim yani bir an şaşırdım. ancak yukarıdada yazdığım gibi bende hata yok. hatayı başka yerde arayın bence. veya alanların float olup olmadıklarını kontrol edin.
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez.

Mevlana

OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
ADNAN
Üye
Mesajlar: 57
Kayıt: 19 Haz 2003 06:57
Konum: ISTANBUL

Mesaj gönderen ADNAN »

Ben size birşey demedim zaten. Fakat o rakamlarla işlem yapacak iki edit kutusu bir button ile deneyin hatayı verdiğini göreceksiniz... Yoksa kod doğru ama bu rakamlarla bu tarz bir bölme işlemi yapılamıyor. Bir yerden birşeyleri budamak gerekiyor.
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

Yanlışınız var, bu rakamı hesaplarken zaten gereğinden fazlası kesilir ve uygun bir rakam atanır..Bence bölgesel ayarlarınızda ondalik virgül değil nokta olduğundan bu hatayı alıyorsunuz..
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

Merhaba,

Float bazı sayısal işlemlerde çözüm olamıyor belirttiğinz şekildesorunlar alabiliriz.

Size tavsiyem alanınızı Currency tanımlanamanızdır bu tür ondalıklı işlemlerde birdaha başınız ağrımayacaktır.

Float ile kullanımı aynıdır çevrimleride aynıdır.

Deneyin sonucu olumlu olumsuz yazın yardımcı olmaya çalışalım hocam.

Saygılarımla
Çalışmalarınızda başarılar.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

Mesaj gönderen oguzozturk74 »

veya Double Precision kullanabilirsiniz
ADNAN
Üye
Mesajlar: 57
Kayıt: 19 Haz 2003 06:57
Konum: ISTANBUL

Mesaj gönderen ADNAN »

Currency kullanımı yukarıda bahsettiğim floating point hatasını çözüyor...

İlgilenen arkadaşlara çok teşekkür ediyorum... [/b]
Cevapla