PDA

View Full Version : کوری استرینگ



pedram_ns
شنبه 11 مهر 1388, 09:45 صبح
سلام
من بوسیله کوری استرینگ یک مقدار عددی ID رو می گیرم و اطلاعات رو براساس اون نمایش می دم.
اگه کاربر به جای عدد حرف تایپ کنه ارور می ده.
کدی رو می خوام که مقدار عدد و حرف رو تشخیص بده و اگه حرف وارد شده بود به صفحه قبل برگرده.

Asad.Safari
شنبه 11 مهر 1388, 10:28 صبح
برای تشخیص عدد از حروف می تونی از یه کلک رشتی استفاده کنی , مثل روش زیر :



private bool isImNumber(string iNum)
{
try
{
int x=Convert.ToInt32(iNum);
return true;
}
catch{

return false;
}
return false;
}

naeeme
شنبه 11 مهر 1388, 11:21 صبح
بهتره کد فوق رو به صورت زیر بنویسید:


private bool isImNumber(string iNum)
{
Int64 lngX;
return Int64.TryParse(iNum, out lngX);
}

روش دیگه هم استفاده از regular exp هست. کافیه از قالب $d\^ استفاده کنید. که من به شخصه استفاده از regular exp رو ترجیح میدم. جای هیچ حرف و حدیثی رو نمیگذاره!

Alireza Orumand
شنبه 11 مهر 1388, 13:40 عصر
سلام
راه حل های دوستان مطمئنا کار میکنه! اما یه ایراد داره و اون اینکه شما با ایجاد exception متوجه میشید که عدد هست یا خیر و ایجاد خطا خودش یکی از اشتباهات در برنامه نویسی محسوب میشه. برای این کار من یک تابع دارم که رشته رو میگیره و به کمک regxبررسی میکنه که عدد هست یا خیر و اگر عدد بود مقدار true و در غیر این صورت false رو برمیگردونه.


public static bool IsNumber(string value)
{
Regex regex = new Regex(@"^\d+$");
return regex.IsMatch(value);
}

موفق باشید.