computed source olayında bölme işlemi??

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
nitro
Üye
Mesajlar: 1112
Kayıt: 23 Ağu 2004 01:18
Konum: Çanakkale
İletişim:

computed source olayında bölme işlemi??

Mesaj gönderen nitro »

s.a
şöyle bir durum var:
bir computed source tanımlıyorum:

Kod: Tümünü seç

KDVMATRAH COMPUTED BY(TUTAR* 1.18)
gayet iyi çalışıyor. ama şöyle yazdığım zaman

Kod: Tümünü seç

KDVMATRAH COMPUTED BY(TUTAR*(118/100))
bu sefer oradaki bölme işlemi bir tamsayı üretiyor. yani 1.
burada bölme işleminin yuvarlama yapmaması için ne yapılabilir?
şimdiden teşekkürler.
onaydin

Mesaj gönderen onaydin »

Birinci;

Kod: Tümünü seç

COMPUTED BY (TUTAR * (cast(118 as Float)/cast(100 as Float)))
İkinci

Kod: Tümünü seç

COMPUTED BY (TUTAR * (118.00 / 100.00)
Ben iki derim
Kullanıcı avatarı
nitro
Üye
Mesajlar: 1112
Kayıt: 23 Ağu 2004 01:18
Konum: Çanakkale
İletişim:

ÇÖZÜM için teşekkürler

Mesaj gönderen nitro »

onaydinin önerdiği iki çözüm de geçerli ama 118 yerine değişken kullanacağım için birinci önerme daha geçerli.
yalnız şöyle bir durum var.
bu işlemlerden çıkan sonucun numeric 6,2 olmasını nasıl sağlarım?
Kullanıcı avatarı
nitro
Üye
Mesajlar: 1112
Kayıt: 23 Ağu 2004 01:18
Konum: Çanakkale
İletişim:

CAST kullanım detayları

Mesaj gönderen nitro »

sorunu çözdüm tüm ifadeti CAST (ifade) as NUMERİC(6,2)
yapınca kod çalıştı. teşekkürler.[/code]
baloglurecep
Üye
Mesajlar: 261
Kayıt: 21 Tem 2006 04:59
İletişim:

Re: computed source olayında bölme işlemi??

Mesaj gönderen baloglurecep »

selamlar arkadaşlar...
Aynı sorun bende de var arkadaşlar. kdv matrahı hesaplarken virgülden sonraki rakamlardan sadece 2 basamağı YUVARLAMA YAPMADAN almak istiyorum. Örneğin 66,1287 yi 66,13 olarak değil 66,12 olması gerek. Firebird 2.0 veri tabanı kullanıyorum. Hesaplamayı normal kodlarla yapıyorum sql içinden değil. Bir türlü istediğim sonuca ulaşamadım. Çözüm varsa cevap verebilirseniz çok sevinirim.
Cevapla