İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp
  3. C# Sayıyı Basamaklarına Ayırma – Max 12 Basamak

C# Sayıyı Basamaklarına Ayırma – Max 12 Basamak

C# Sayıyı Basamaklarına Ayırma - Max 12 Basamak

C# Sayıyı Basamaklarına Ayırma – Max 12 Basamak dersim ile C# eğitim setime devam ediyorum. Bu dersimizde maksimum 12 basamaklı bir sayıyı basamaklarına ayırma yöntemini göreceğiz. Ve bunu bir döngü aracılığı ile yapacağız.

C# Sayıyı Basamaklarına Ayırma – Max 12 Basamak

Bu dersimizde 12 basamaklı ve daha düşük basamaklı bir sayıyı nasıl basamaklarına ayrıcağımızı göreceğiz.  Üstelik bu bir for döngüsü kullanarak yapacağız. İnternette maks 4 basamaklı sayıyı basamaklarına ayıran bir yazı görmüştüm. Bende 12 basamaklı halini yapayım dedim.

NOT: Bu kodlar 1 basamaklı sayıdan 12 basamaklı sayıya kadar her basamaktan sayıyı basamaklarına ayırabilir.

Elbette siz kodları aldıktan sonra üzerinde çalışamalar yaparak daha büyük sayılar için uğraşabilirsiniz.  Şimdi formumuza bir textbox, bir button ve bir listbox ekleyelim. Yazacağımız kodları minimum’a indirmek için önce basamakların adlarını bir list içerisinde yazacağız. (basamak adlarını yanlış yazmış olabilirim. 🙂 )

 List<string> Basamaklar = new List<string>();
        private void sayiyi_basamaklara_ayir_Load(object sender, EventArgs e)
        {
            Basamaklar.Add("Birler Basamağı");
            Basamaklar.Add("Onlar Basamağı");
            Basamaklar.Add("Yüzler Basamağı");
            Basamaklar.Add("Binler Basamağı");
            Basamaklar.Add("On Binler Basamağı");
            Basamaklar.Add("Yüz Binler Basamağı");
            Basamaklar.Add("Milyonlar Basamağı");
            Basamaklar.Add("On Milyonlar Basamağı");
            Basamaklar.Add("Yüz Milyonlar Basamağı");
            Basamaklar.Add("Milyarlar Basamağı");
            Basamaklar.Add("On Milyarlar Basamağı");
            Basamaklar.Add("Yüz Milyarlar Basamağı");
        }

Form load içerisinde basamaklarımızı yazdık.  Burada dikkat edilmesi gereken husus bu listedeki sıralamadır. Sıralama değişirse basamak adlandırması yanlış olacaktır. Şimdi butonumuzun click eventine gelelim ve kodlarımızı yazalım.

      private void button1_Click(object sender, EventArgs e)
        {
            listBox1.Items.Clear();

            if (textBox1.Text.Length <= 12 && textBox1.Text.Length >= 1)
            {
                Int64 sayi = Convert.ToInt64(textBox1.Text);
                Int64 basamak = 0;
                for (int i = 0; i < textBox1.Text.Length; i++)
                {
                    basamak = sayi % 10;
                    sayi = sayi / 10;
                    listBox1.Items.Add(basamak + " " + Basamaklar[i]);
                }
            }
            else
            {
                MessageBox.Show("Maksimum 12 basamaklı, minimum 1 basamaklı sayı girebilirsiniz.");
            }

        }

Kodlarımızı açıklamamız gerekirse;

  • İlk olarak listbox’u temizliyoruz.
  • Girilen sayın basamak sayısını kontrol ediyoruz. İstediğimiz aralıkta olması gerekiyor.
  • Textbox’tan girilen sayıyı int64’e dönüştürdük. Çünkü 12 basamak deyince İnt32 sınırını aşmış oluyoruz.
  • Texbox’a girilen sayısının karakter sayısı kadar dönecek bir for döngüsü hazırladık.
  • Basamak değişkenine, textbox’tan girilen sayının mod 10’unu alıyoruz. Böylece ilk dönüşte Birler basamağını elde ediyoruz.
  • Sayıyı 10’a bölerek birler sayıyı bir basamak azaltmış oluyoruz.
  • listbox nesnemize, elde ettiğimiz Birler basamağındaki sayıyı ve Basamaklar listesine eklediğimiz basamak ismini, döngünün ve listteki itemlerin index numaraları ile eşleştirerek hangi basamak olduğunu anlıyoruz.

Bu kodlarımızı bu şekilde yazdığımızda, girilen 12 basamaklı sayının istediğiniz noktasından bir sayıyı silseniz dahi basamak adları sıralaması doğru ise basamak sayıları ve adları her zaman doğru olarak eşleşecektir.


C# Sayıyı Basamaklarına Ayırma – Max 12 Basamak dersi de bu kadardı arkadaşlar. Diğer derslerimizde görüşmek üzere. Çok sık kullanılabilecek bir konu olarak görmediğim için bu dersi github projeme ekleme gereği duymadım.

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.

Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…

Sağlıcakla ve takipte kalın. 😉

Yorum Yap

Yazar Hakkında

Liseden, Ağ Sistemleri ve Yönetimi bölümünden mezun oldum. Üniversiteden (2 yıllık), Bilgisayar Programcılığı bölümünden mezun oldum. Şuanda da AÖF, Yönetim Bilişim Sistemleri bölümünde okumaktayım. Uzmanlık alanlarım; Windows Sistemleri, HTML, CSS, C# ve SQL’dir. Hobi olarak uğraştığım genel konular, Photoshop, After Affects, Corel Draw’dır.Film, YABANCI dizi, Anime izlemeyi ve Manga okumayı severim. Arkadaşlarımla yürüyüş yapmayı ve grup olarak aktivitelere gitmeyi severim. Geri kalan zamanlarımın tümü bilgisayar karşısında geçer.

Yorum Yap