
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.

.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.