AccessTr.neT

Tam Versiyon: Yuvarlama
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Merhabalar,

Sitede yuvarlama ile ilgili birçok konu başlığı açılmış, inceledim.
Fakat ekteki örnekte olduğu gibi;
Round(7,965;2)=7,96 çıkıyor ; 7,97 olması gerekiyor
Round(87,615;2)=87,62 çıkıyor ; bu sayıda sorun yok.

Formülü aşağıdaki şekilde değiştirerek denedim sorunu çözdüm, Ancak acaba bunun daha kolay bir yolu veya formülü var mıdır?
Round(7,965+0,055;2)-0,05=7,97
Round kodu neden bazı sayılarda yukarı yuvarlama yapıyor da bazılarında yapmıyor, anlayamadım...
(Virgülden sonraki 2. rakamın tek veya çift olması ile ilgili olabilir mi... ? Bilemedim.)
Yardımcı olursanız sevinirim.

Sayın mk70;
Çok ilginç bir durum doğrusu. Ben de denedim. Çok haklsınız. Virgülden sonraki 2. rakam eğer tek sayı ise, ondan sonra gelen rakam 5 ve yukarısında bir üst rakama tamamlıyor. Ama çift sayı ise , ondan sonra gelen rakam 5 ise bu sefer üst rakama tamamlamıyor. Formülünüz işlevsel ve şu anda benim bildiğim kadarıyla başka bir çözüm yok. Ama ustalar geliştirebilirler. Kolay gelsin.
İlginiz için teşekkür ederim Sayın Hayri16. Bu hesaplamalar okulumuzda çalışan hizmetlinin sigorta kesintileri ile ilgili. Bildiğiniz gibi SGK işlemlerinde 1 kuruşun bile hesabı çok önemli...
Hesaplamalardaki hata daha önce tartışılmıştı.

=Round((32.065);2) kodu accesste 32.06 , aynı kod excelde 32.07 olarak yuvarlanıyor.

Accesste son rakam 5 ise, 5 ten önceki rakamın tek-çift durumuna göre yuvarlıyor.

Mesela
Round (12.55, 1) = 12.6
Round (12.65, 1) = 12.6
Round (12.75, 1) = 12.8

Eğer son rakam 5 ise ve siz önceki rakama bakmazsızın yukarı yuvarlamak istiyorsanız ona göre kod yazılabilir. Ama accessin normal işleyişi üstte anlattığım şekilde. Tekse yukarı, çiftse aynı.
Teşekkür ederim sayın sledgab,

Sorunu
Round(7,965+0,055;2)-0,05=7,97
şeklinde çözdüm...