C# ile ondalıklı bir sayıyı en yakın integer sayıya nasıl yuvarlarız?

How to convert a decimal number to nearest number?

Merhaba arkadaşlar,

Örnek: 2 sayıyı bölüyorsunuz sonucu en yakın integer'e yuvarlamak istiyorsunuz.Ama bölen kısmını double'a çevirmeniz gerekiyor aksi takdirde istenileni vermiyor.

Methodumuz Math.Round. 


int a = 178, b = 91;

Math.Round( / Convert.ToDouble(b));

Bu örnek'te gerçek sonuç: 1.9560.. şeklinde devam eder ama üstteki kod bloğu içinde uyguladığımızda 2 sonucunu verecektir.

Değişkenleri int a = 178, b = 155; şeklinde düzenleyip uyguladığımızda gerçek sonuç: 1.1483.. şeklinde devam eder ama bizim kodumuza göre 1 sonucunu verecektir.

Tam katı bölümlerde ise yukarıya yuvarlayacaktır.


Aynı işlemi Convert.ToInt32 methodunu kullanarakta yapabilirsiniz. Benzer şekilde bölen kısmı double olmalıdır.


int a = 178, b = 91;

Convert.ToInt32( a / Convert.ToDouble(b));

Bu örnek'te gerçek sonuç: 1.9560.. şeklinde devam eder ama üstteki kod bloğu içinde uyguladığımızda 2 sonucunu verecektir.

Değişkenleri int a = 178, b = 155; şeklinde düzenleyip uyguladığımızda gerçek sonuç: 1.1483.. şeklinde devam eder ama bizim kodumuza göre 1 sonucunu verecektir.

Tam katı bölümlerde ise yukarıya yuvarlayacaktır.


İyi Kodlar!