PDA

View Full Version : تشخیص متغییر رشته از عدد



ramin149
جمعه 16 اردیبهشت 1390, 17:52 عصر
من از کاربر ورودی می گیرم و داخل یک متغییر از نوع string ذخیره می کنم حالا می خوام چک کنم که اگر متغییر ذخیره شده از نوع عدد باشه اون متغییر را داخل یک متغییر دیگر بریزه .
باید چه کار کنم مخصوصا درباره تشخص عدد و حروف یک رشته ؟

Felony
جمعه 16 اردیبهشت 1390, 17:59 عصر
http://social.msdn.microsoft.com/Forums/en/winforms/thread/84990ad2-5046-472b-b103-f862bfcd5dbc

morteza271
جمعه 16 اردیبهشت 1390, 19:08 عصر
شما به صورت زیر میتونید این کار رو انجام بدین:
فرض کنید ورودی رو کاربر داخل یه تکست باکس وارد میکنه و شما چک میکنید اگه عدد بود اون رو داخل متغیر num2 ذخیره میکنید.
اینم کد:

string str = TextBox1.Text;
int num = 0;
int num2 = 0;
try
{
num = Int32.Parse(str);
num2 = num;
}
catch
{}

ramin149
شنبه 24 اردیبهشت 1390, 11:00 صبح
این هم از کدی که خودم نوشتم

public static boolean checkInt(String inputString)
{
boolean done = false;

while (! done)
{
try
{
inputString = inputString.trim();
int number = (Integer.valueOf(inputString).intValue());
done = true;
}
catch (NumberFormatException e)
{
return false;
}
}

return true;
}

haghft
شنبه 24 اردیبهشت 1390, 11:53 صبح
از regex استفاده کنید

Farshid007
شنبه 24 اردیبهشت 1390, 12:39 عصر
چرا راه دور میرید؟
اول از رفرنس ها یnet. رفرنس microsoft.VisualBasicرو اضاف کنید:
if (Microsoft.VisualBasic.Information.IsNumeric(str1) )
{
//Do Somthing...
}

haghft
شنبه 24 اردیبهشت 1390, 15:38 عصر
آره اتفاقا من هم میخاستم بگم که از isNumeric کتابخانه microsoft.VisualBasic هم مینتونین استفاده کنید ولی یادم رفت:اشتباه: با این حال regex هم راه دوری نیست و اگر علاوه بر عدد،هم مثلا سیمبل هارو خواستن جدا کنن میتونن یا مثلا فقط بعضی اعداد رو قبول کنه خلاصه خیلی کارها میشه کرد باهاش.