C# Girilen Sayının Kaç Basamaklı Olduğunu Bulma

Merhabalar, C# derslerimize kaldığımız yerden devam ediyoruz. Bu dersimizde girilen bir sayının kaç basamaklı olduğunu bulmay anlatacağım. Hadi başlayalım !
Öncelikle Visual Studio aracılığıyla bir tane konsol projesi oluşturalım. Ben konsol üzerinden anlatacağım fakat isteyen diğer platformlar üzerinden de yapabilir. Bir sayının kaç basamaklı olduğunu öğrenmenin birden çok yolu var. Örneğin sayıyı sürekli 10’a bölerek her başarılı bölünmede basamak sayısını tutan integer tipteki bir değişken arttırılabilir yada girilen sayıyı string’e çevirip string propertilerinden faydalanılabilir. Ben bu bahsettiğim her iki yöntemi de anlatacağım. Öncelikle sayıyı string’e çevirip basamak sayısını hesaplayalım.
Konsol projesi oluşturduktan sonra kullanıcıdan bir sayı isteyelim ve öncelikle integer’a sonra da string’e çevirelim. Neden böyle uğraşıyoruz derseniz, integer’a çevireceğiz çünkü kullanıcı sıfır ile başlayan bir sayı girebilir fakat sayılar sıfır ile başlayamaz. İşte integer’a çevirip girilebilecek sıfırları siliyoruz ve sonradan string’e çevirerekte string property ve fonksiyonlarını kullanabileceğiz. Kod yapımız şöyle olmalı;
Console.Write("Sayı Giriniz: ");
string sayi = long.Parse(Console.ReadLine()).ToString();
Evet sayımızı aldık ve önce long’a sonra da string’e çevirdik. Neden long peki ? direk int.Parse fonksiyonunu kullanırsak 32 bitlik integer olarak alır ve kullanıcı 2147483647’den daha büyük sayı girdiğinde program hata verecektir fakat long yaptığımızda kullanıcı 9223372036854775807’ye kadar sayı girebilir. Yani kullanıcının isteklerini daha da genişletmiş olduk.
Kullanıcıdan sayı aldık ve şimdi de bu sayının kaç haneli olduğunu string’e ait olan Length propertisini kullanarak öğreneceğiz.
int uzunluk = sayi.Length;
Sayının uzunluğunu da bulduğumuza göre kullanıcıya bildirebiliriz;
Console.WriteLine("Girdiğiniz Sayı {0} Basamaklıdır", uzunluk);
Evet birinci yolumuz bu şekilde idi, şimdi de ilk bahsettiğimiz sayıyı 10’a bölerek sayıyı küçültecek ve basamak değerini tutan değişkeni 1 arttıracağız. Kod için buyrun;
Console.Write("Sayı Giriniz: ");
long sayi = long.Parse(Console.ReadLine());
int uzunluk = 0;
while(sayi != 0)
{
sayi /= 10;
uzunluk++;
}
Evet while döngüsünden çıkıldığında uzunluk değişkeninde sayının basamak sayısı tutuluyor olacaktır. uzunluk değişkenini ekrana bastırdığımızda kullanıcının girdiği sayının basamak sayısı yazdırılacaktır.
Console.WriteLine("Girdiğiniz Sayı {0} Basamaklıdır", uzunluk);
Evet bu dersimizde bu kadardı, tüm C# derslerimize buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.