Sayının basamak sayısını öğrenme

C# While döngüsü örneği ile merhaba. Kullanıcı tarafından girilen bir sayının kaç basamaklı olduğunu bulmak için while döngüsünü kullanarak yapabiliriz.

Forma bir textbox ve bir buton ekleyip, buton click’ine;

1
2
3
4
5
6
7
8
9
10
11
int sayi = Convert.ToInt32(textBox1.Text); // textbox taki değeri sayıya atadık
            int basamak=0;

            while (sayi > 0)
            {
                basamak++;
                sayi /= 10; //sayının değeri 10'a bölünüp kendisine eşitlenir. Sonuç 0 oluncaya kadar ne kadar bölürseni o kadar basam sayısı çıkar
            }


            MessageBox.Show("girilen sayı " + basamak.ToString() + " basamaklıdır");

While döngüsünün amacı koşul sağlanana kadar döngü çalıştırmasıdır. Buradaki olay döngünün kaç kere çalıştırıldığı dır. Uygulamamızda girilen değer 0 olana kadar döngü çalışıp, döngü sayısını messagebox yardımı kullanıcıya gösterdk.

“Sayının basamak sayısını öğrenme” için 6 cevap

  1. Murat hocam bana şöyle birşey lazım ; textboxa girilen değer ürünün minimum alım adedine eşit mi değil mi .. yani ürünün min. alım adedi 10 diyeli vatandaş bu üründen 18 tane almak isterse alamayacak 10 ve katlarını girerse devam edebilecek bunu nasıl yapabiliriz ?

    1. Girilen sonucu 10 bölüp kontrol ettirebilirsin. Eğer girilen değer 10’a bölünüp kalan vermiyorsa işleme devam eder kalan varsa devam etmez.

      Bunun için mod alma konusuna göz gezdirip yada basit bi if mantığı ile halledebilirsin

  2. MErhaba hocam. bir sorum olacak: basamak sayısını bulmak için sizin yazdığınız kod yerine sayiyi stringe çevirip uzunluğuna bakarak basamak sayısını eld etmenın ne gibi dezavantajı olabilir?

    o kadar dongu de değişken tanımadan tek satırda halledebildiğimiz için soruyorum.

    yani yavaş mı çalışır?

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir