MS te en sonunda YTL güncellemesini cıkardı.
http://www.microsoft.com.tr/download/ytl/ytl.exe
TL'den 2005 yılı başında 6 sıfır atılması
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: bir yanlışlık yok mu?
Kod daki bu problemi >= operatoru kullanarak çözebilirsin.rapsodim yazdı:Arkadaşlar burada bir yanlış var gibi şöyle ki;
4999 değeri 0
5000 değeri 0
24990 değeri 0,02
65000 değeri 0,06
1015000 değeri 1,01
54883407 değeri 54,89
385995000 değeri 385,99
1817344900 değeri 1817,34 oluyor halbuki
4999 değeri 0
5000 değeri 0,01
24990 değeri 0,02
65000 değeri 0,07
1015000 değeri 1,02
54883407 değeri 54,88
385995000 değeri 386
1817344900 değeri 1817,34 olmalı diye düşünüyorum.
Kod: Tümünü seç
If (Kalanlar-5000) >= 0 then Inc(Kurus);
Öğrenmek ve öğretmek, akıntıya karşı yüzmek gibidir ilerleyemediğiniz taktirde gerilersiniz.
Merhabalar...
- Kodu @gkimirti sağolsun güncellemiş, ben de hangi şartlarda ne işlem yapıldığını gösteren bilgi satırlarını yeniden güncelledim.
- @rapsodim, Bahsetmek istediğini geç anladım. Keşke 0.5 kuruşun da yukarı yuvarlanacak olduğununu üzerine bassaydın.
- Çalışmalarınızda başarılar...
// EDIT //
Arkadaşlar... Yarım kuruş meselesi aklımı karıştırdı... Başka bir yer referans gösterecek var mı ? Yaptığımız düzeltme ile asıl şimdi bir hataya mahal vermeyelim...
http://www.tcmb.gov.tr/yeni/banka/yenil ... 3gerek.htm linkinde halen aşağıdaki ifade geçiyor... Yanir yarım kuruş yukarı yuvarlanmayacak diyor
http://www.ytl.gen.tr/ytl/sss/sss.php#8 linkinde
- Kodu @gkimirti sağolsun güncellemiş, ben de hangi şartlarda ne işlem yapıldığını gösteren bilgi satırlarını yeniden güncelledim.
- @rapsodim, Bahsetmek istediğini geç anladım. Keşke 0.5 kuruşun da yukarı yuvarlanacak olduğununu üzerine bassaydın.

- Yazdığın mesajına karşılık verdiğim yukardaki cevabımda başka bir nokta olan; birim üzerinden değil mal ve hizmetlerin bedellerinin toplamı üzerinden YTL dönüşümü yapılacağı noktasına kanalize olmuştum...@rapsodim
- Bir mal veya hizmet bedeli olabilen bu miktarlar küçük gibi görünse de dönemsel veya mal hareketlerindeki toplamda ciddi hak kayıpları ve/veya haksız kazanç doğrucaktır şeklinde düşünüyorum.
- Yani yapılan işlem para bazlı olduğundan mümkün olduğunca yuvarlama yapmamak gerektiği ve mevcut TL'de likit en küçük para 25.000 TL olduğu noktasından yola çıkılması gerektiği kanaatindeyim.


- Çalışmalarınızda başarılar...
// EDIT //
Arkadaşlar... Yarım kuruş meselesi aklımı karıştırdı... Başka bir yer referans gösterecek var mı ? Yaptığımız düzeltme ile asıl şimdi bir hataya mahal vermeyelim...


http://www.tcmb.gov.tr/yeni/banka/yenil ... 3gerek.htm linkinde halen aşağıdaki ifade geçiyor... Yanir yarım kuruş yukarı yuvarlanmayacak diyor

// EDIT - 2// Şimdi rahatladım...Türk Lirası ile Yeni Türk Lirası arasında değişim oranı
Madde 2- Türk Lirası değerler Yeni Türk Lirasına dönüştürülürken, bir milyon Türk Lirası (1.000.000 TL) eşittir bir Yeni Türk Lirası (1 YTL) değişim oranı esas alınır.
Yeni Türk Lirası cinsinden yapılan işlemlerde yarım Yeni Kuruşun üzerindeki değerler bir Yeni Kuruşa tamamlanır; yarım Yeni Kuruş ve altındaki değerler dikkate alınmaz.
http://www.ytl.gen.tr/ytl/sss/sss.php#8 linkinde
... ifadesi yeni düzenlemeyi destekliyor...En küçük madeni para 1 Yeni Kuruştan oluşmaktadır. Buna göre, 1 Yeni Kuruşun altındaki küsuratlı işlemler nasıl sonuçlandırılacaktır?
Mal ve hizmetlerin birim fiyatları 1 Yeni Kuruş’un altında belirlenebilecek olup, Yeni Türk Lirası cinsinden yapılan işlemlerde, ödeme aşamasında ve işlem sonuçlarında yarım Yeni Kuruş ve üzerindeki değerler bir Yeni Kuruşa tamamlanacak, yarım Yeni Kuruşun altındaki değerler ise dikkate alınmayacaktır.
@gkimirti forumda bu sayfada da aynı kod mevcut ve duzeltilmemiş. Bundan önceki mesajımı bu sayfadaki koda istinaden yazmıştım. 
viewtopic.php?t=6129&start=0

viewtopic.php?t=6129&start=0
Öğrenmek ve öğretmek, akıntıya karşı yüzmek gibidir ilerleyemediğiniz taktirde gerilersiniz.
Ben de ms sql server için yazılmış fonksiyonunu göndereyim dedim:
Not: Fonksiyonu ben yazmadım.
Not: Fonksiyonu ben yazmadım.
Kod: Tümünü seç
CREATE FUNCTION TL2YTL (@GELENSAYI FLOAT)
RETURNS DECIMAL (15,2)
AS BEGIN
DECLARE @TAMSAYI FLOAT
SET @TAMSAYI = ((round(@GELENSAYI/10000.,0))*10000)/1000000.00 --normal yuvarlama
-- SET @TAMSAYI = FLOOR(@GELENSAYI)/1000000.00 --aşağı YUVARLAMA
-- SET @TAMSAYI = ((CEILING(@GELENSAYI/10000.))*10000)/1000000.00 --yukarı
RETURN @TAMSAYI
END