.Net Sayı Yuvarlama Metotları

1

Yazılımcılar için matematiksel işlemler olmazsa olmazlardan birisidir. Projemiz ne olursa olsun matematiksel ifadeler ve hesaplamaları yaptırmak gerekmektedir. Yazılım tarafından yapılan bu matematiksel işlemler, genellikle finansal işlemler olabildiği için işlemlerin doğruluğundan emin olmak gerekmektedir. Öyleki bazen virgülden sonra 3.basamağın bile 1 rakam yüksek olması çok kritik hatalara neden olabilmektedir. Bu makalemizde .NET geliştirme ortamında sayı yuvarlama işlemlerinin hangi metodlarla yapıldığında nasıl sonuçlar doğuracağını göreceğiz.

2

.NET yazılım geliştirme ortamında daha önce yazılım geliştirenler System.Math kütüphanesi yardımıyla matematiksel işlemlerin üstesinden kolaylıkla gelebileceğini bilir. Aynı kütüphane içerisinde yer alan Floor, Ceiling ve Round metodları ondalık basamakları yuvarlamaya yarar.

Floor, Ceiling ve Round Metotlarının Ortak Yanları

Aslında 3 metodun yaptığı işlem aynıdır, sayıyı yuvarlamak. Ama her yiğidin yoğurt yiyişi farklı tabi.

Hepsinin aldığı parametreler aynı tiptedir. Round metodunun farklı override edilmiş çağrıları da vardır. O çağrılara aşağıda değineceğiz.

3 Metot da temel olarak Decimal veya Double tipinde bir sayı veya değişken kabul ederler.

Parametre olarak verilen değer Double tipindeyse dönüş olarak Double tipinde, Decimal ise Decimal tipinde bir değer dönerler.

Math.Floor( x )

Floor ingilizce taban demektir. Math.Floor metodu da isminden anlaşılacağı üzere sayıyı aşağı yönde yuvarlar.

Math.Floor(7.03); // Sonuç:7
Math.Floor(8.64); // Sonuç:8
Math.Floor(0.12); // Sonuç:0
Math.Floor(-0.12); // Sonuç:-1

Math.Ceiling( x )

Ceiling ingilizce tavan anlamına gelir. Math.Ceiling metodu da isminden anlaşılacağı üzere sayıyı yukarı yönde yuvarlar.

Math.Ceiling(7.03); // Sonuç:8
Math.Ceiling(8.64); // Sonuç:9
Math.Ceiling(0.12); // Sonuç:1
Math.Ceiling(-0.12); // Sonuç:0

Math.Round( x )

Round ingilizce yuvarlamak anlamına gelir. Math.Round metodu da Floor ve Ceiling’den farklı olarak, tek yönde yuvarlama yapmaz sayının virgülden sonraki değerine göre ya aşağıya ya da yukarıya doğru yuvarlar. Yani sayının virgülsen sonraki ondalık basamağının değeri 0-4 arasındaysa (0 ve 4 dahil) aşağı yönde, 5-9 arasındaysa (5 ve 9 dahil) yukarı yönde yuvarlar.

Math.Round(7.03); // Sonuç:7
Math.Round(8.64); // Sonuç:9
Math.Round(0.12); // Sonuç:0
Math.Round(-0.52); // Sonuç:-1


Sorularınız, yorum ve önerileriniz için yorum yazabilir, ya da contact@erkanceylan.com mail adresinden bana ulaşabilirsiniz.

Bir sonraki blog yazımda tekrar karşılaşmak dileğiyle, esen kalın.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.