Bir sayının basamak değerlerini bulurken modüler aritmetik ve bölme işleminden yararlanılır. Bulunacak sayı değerine göre yapılacak işlem değişkenlik gösterse de genel bir kurala bağlanabilir.
Yukarıdaki şekilde birler, onlar ve yüzler basamaklarının sayı değerlerinin nasıl bulunduğu gösterilmiştir.
Sayının Birler Basamağını Bulma
Bir sayının birler basamağını bulmak en kısa yoldur. Bunun için sayıyı 10’a bölerek kalan sonucu almamız yeterlidir.
Sayının Onlar Basamağını Bulma
Onlar basamağı için önce sayının 100’e bölümünden kalanı bulmak, ardından da çıkan sonuç içerisinde kaç adet 10 sayısı olduğunu bulmak gerekir.
Sayının Yüzler Basamağını Bulma
Yüzler basamağını bulurken de sayının 1000’e bölümünden kalanı buluruz. Çıkan sonuç içinde kaç adet 100 sayısı olduğuna bakarız. Yani çıkan sonucun 100’e bölümüyle elde edilen sayının tam kısmını alırız.
Sayının Girilen Basamak Değerini Bulma
Her bir basamak için ayrı işlem yapmaktansa genelleştirilmiş bir formül üretebilirsek binler, on binler, yüz binler, milyonlar basamaklarının da elde edilmesi mümkün olur. Bunun için öncelikle bir sayı ve istenilen basamağın kaçıncı basamak olduğunu girebileceğimiz 2 adet TextBox, 1 buton ve sonucu gösterebileceğimiz 1 Label yeterli olacaktır.
Sayının girildiği TextBox’ın adı tbSayi, basamak değerinin girildiği TextBox’ın adı tbBasamak, Label’ın adı lbDeger olarak değiştirildiğinde program kodları aşağıdaki şekilde olacaktır:
1 2 3 4 5 | int sayi = Convert.ToInt32(tbSayi.Text); int n = Convert.ToInt32(tbBasamak.Text); int sonuc = (int) ((sayi % Math.Pow(10,n)) / Math.Pow(10,n-1)) ; lbDeger.Text = sonuc + ""; |
Görüldüğü gibi mod işlemi “%” operatörü ile alınmaktadır. Bir sayının tam kısmını almak için de formülün önüne (int) yazmak yeterlidir.