Visual C# İpuçları – Sayı Kontrolü

0 756

Visual C# ile bir değerin sayı olup olmadığını kontrol eden fonksiyonu paylaşıyoruz. Buna benzer şekilde farklı programlama ve C# ipuçlarını sitemizde bulabilirsiniz.

Eğer girilen değerin sayımı yoksa string bir değer mi olduğunu kontrol edeceğiz. Bunun için iki farklı yöntem yazıyorum. İki farklı yöntemle girilen bir verinin sayı olup olmadığını kontrol edeceğiz. Forksiyonlarımız IsNumeric ve IsNumeric2 isminde. İkiside aynı işi yapıyor. Sadece kısa ve basit olanı yazmamamın sebebi kısa olan IsNumeric2 fonksiyonu negatif(- eksi) değerlerde hatalı çalışması. Eğer programınızda sadece pozitif değerlerle ilgilenirseniz kısa olanı kullanabilirsiniz.
Program için yeni bir proje oluşturup bir textbox ve bir buton ekliyorum.
İlk Fonksiyonumuz. Bu biraz uzun ancak negatif değerler içinde kullanılabiliyor.

public static bool IsNumeric(string NumToValidate)
       {
           if ((NumToValidate!=null))
           {
               double NumTest = new double();
               System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("en-US", true);

               return Double.TryParse(NumToValidate, System.Globalization.NumberStyles.Any, cultureInfo.NumberFormat, out NumTest);
           }
           else
           {
               return false;
           }
       }

       private void button1_Click(object sender, EventArgs e)
       {
           if (IsNumeric(textBox1.Text))
               MessageBox.Show("Bu bir sayıdır!");
          else
              MessageBox.Show("Bu bir sayı değildir!");
         }

Buda ikinci fonksiyonumuz. çok kısa ve basit bir yöntemle doğruluk kontrolü yapıyor fakat negatif değerlerle çalışmıyor. negatif sayılarla işiniz yoksa alttaki fonksiyonu kullanabilirsiniz.

public static bool IsNumeric2(string strToCheck)
      {
          return Regex.IsMatch(strToCheck, "^\\d+(\\.\\d+)?$");
      }
      private void button1_Click(object sender, EventArgs e)
      {
          if (IsNumeric2(textBox1.Text))
              MessageBox.Show("Bu bir sayıdır!");
         else
             MessageBox.Show("Bu bir sayı değildir!");
           }

Sitemizde yer alan python programlama derslerine de göz atmak isteyebillirsiniz.

Yorumlarınızı bekliyoruz.

Cevap bırakın

E-posta hesabınız yayımlanmayacak.

Bu web sitesi deneyiminizi geliştirmek için çerezleri kullanır. Bununla iyi olduğunuzu varsayacağız, ancak isterseniz vazgeçebilirsiniz. Kabul etmek Mesajları Oku