صفحه اصلی مقالات پیغام خطا Value was either too large or too small for an Int32

پیغام خطا Value was either too large or too small for an Int32

پیغام خطا Value was either too large or too small for an Int32

نویسنده :

پیغام خطا Value was either too large or too small for an Int32

سوال : من شکلی دارم که اعداد را در تغییر متن جعبه متن اضافه و تفریق می کند. اگر عددی مانند 2181003000 - 899763000 را وارد کنم این خطا را می گیرم ، "مقدار برای Int32 خیلی بزرگ یا خیلی کوچک بود." چه جوری میتونم این رو درست کنم؟

protected void TextBoxNPRNA_TextChanged(object sender, EventArgs e)
   {
       int a = Convert.ToInt32(TextBoxTUNA.Text);
       int b = Convert.ToInt32(TextBoxETRNA.Text);
       int c = Convert.ToInt32(TextBoxNPRNA.Text);
       TextBoxTNA2.Text = Convert.ToString(a + b + c);
       TextBoxTR.Focus();
   }

جواب : هرگز از Convert برای تغییر نوع ورودی کاربر استفاده نکنید: در عوض از TryParse استفاده کنید. به این ترتیب وقتی کاربر یک اشتباه را انجام می دهد - همانطور که مرتباً مرتکب می شوند - می توانید قبل از بروز مشکل آن را تشخیص دهید و دقیقاً برای رفع آن به آنها بگویید:

int a;
if (!int.TryParse(TextBoxTUNA.Text, out a))
   {
   // Report problem to user
   return;
   }

 

سوالی دارید؟ از من بپرسید

سلام چطور میتونم کمکتون بکنم؟