TL'den 2005 yılı başında 6 sıfır atılması

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
ÖMER
Üye
Mesajlar: 21
Kayıt: 13 Eyl 2003 01:40
Konum: İstanbul

Mesaj gönderen ÖMER »

MS te en sonunda YTL güncellemesini cıkardı.
http://www.microsoft.com.tr/download/ytl/ytl.exe
Kullanıcı avatarı
Asri
Kıdemli Üye
Mesajlar: 767
Kayıt: 16 Eyl 2003 09:54
Konum: istanbul

Re: bir yanlışlık yok mu?

Mesaj gönderen Asri »

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 daki bu problemi >= operatoru kullanarak çözebilirsin.

Kod: Tümünü seç

   If (Kalanlar-5000) >= 0 then Inc(Kurus);
iyi çalışmalar.
Öğrenmek ve öğretmek, akıntıya karşı yüzmek gibidir ilerleyemediğiniz taktirde gerilersiniz.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

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. :?
@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.
- 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... :oops: :roll:

- Ç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... :!: :idea:

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 :!:
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.
// EDIT - 2// Şimdi rahatladım...

http://www.ytl.gen.tr/ytl/sss/sss.php#8 linkinde
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.
... ifadesi yeni düzenlemeyi destekliyor...
Resim
Resim ....Resim
Kullanıcı avatarı
Asri
Kıdemli Üye
Mesajlar: 767
Kayıt: 16 Eyl 2003 09:54
Konum: istanbul

Mesaj gönderen Asri »

@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
Öğrenmek ve öğretmek, akıntıya karşı yüzmek gibidir ilerleyemediğiniz taktirde gerilersiniz.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

@Asri bilgi için teşekkürler...

- Verdiğin linkteki CODE tag'ını silerek bu başlığa yönlendirmek üzere link koydum...
Resim
Resim ....Resim
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Ben de ms sql server için yazılmış fonksiyonunu göndereyim dedim:

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
Cevapla