PDA

View Full Version : مقایسه با یک نوع داده



darksunrise
یک شنبه 10 خرداد 1388, 11:24 صبح
چطور میشه داخل یه شرطی مثل if چک کرد مقدار یک متغیر intهست یا نه؟

Unknownlive
یک شنبه 10 خرداد 1388, 11:33 صبح
مثلا اگر نام متغیر a باشد :
a.gettype
کد زیر مقدار System.int32 را بر می گرداند :
int a=2;
MessageBox.Show(a.GetType().ToString());

حالا شرط:
if(a.getType.tostring()=="System.int32"

darksunrise
یک شنبه 10 خرداد 1388, 11:58 صبح
حالا اگه بخوام مقدار داخل تکست باکس رو چک کنم و مطمئن بشم که فقط عدد وارد شده چی؟
اگه از gettype استفاده کنم که همش میگه استرینگ وارد شده

SMRAH1
یک شنبه 10 خرداد 1388, 12:17 عصر
سلام

برای اطمینان از نوع می تونی از is هم استفاده کنی یعنی:

int i = 0;
float j = 0;
if (i is int)
MessageBox.Show("yes");
else
MessageBox.Show("No");
if (j is int)
MessageBox.Show("yes");
else
MessageBox.Show("No");2) برای اینکه در یک textBox، مطمئن باشی که یک عدد وارد شده می تونی از کد های مثل کد زیر (برای اعداد صحیح مثبت) استفاده کنی:

if(textBox1.Text.Trim('0','1','2','3','4','5','6', '7','8','9') == "")
MessageBox.Show("Is Numbet");
else
MessageBox.Show("Is Not Number");که برای دیگر حالات (اعداد منفی و ..) باید کمی ذوق به خرج بدی و کد رو به شکل مناسب تغییر بدی.
3) اگر فقط می خواهی عدد دریافت بشه ،توی «نمونه برنامه های کاربری» یک نمونه TextBox برای اعداد (البته با نمایش مناسب اعداد - مثلا سه رقم سه رقم جدا کند و ..) دیدم که حتما می تونید با جستجو پیدا کنید.

موفق باشید

adinochestva
یک شنبه 10 خرداد 1388, 12:23 عصر
Char.IsDigit() به همين منظور استفاده مي شود

darksunrise
یک شنبه 10 خرداد 1388, 12:53 عصر
Char.IsDigit() به همين منظور استفاده مي شود
میشه بیشتر توضیح بدید ؟
چه جوری ازش استفاده کنم؟

adinochestva
یک شنبه 10 خرداد 1388, 14:11 عصر
اينجوري :


if (textBox1.Text.ToCharArray().All(x => char.IsDigit(x)))
MessageBox.Show("the value in textbox1 is digit only ! lol !");

NewFoxStudent
یک شنبه 10 خرداد 1388, 17:11 عصر
فکر کنم این ساده ترین راه باشه
برای تمام انواع میتونی استفاده کنی

if(int.Parse(textBox1.Text))


decimal.Parse(value);
DateTime.Parse(value)

adinochestva
یک شنبه 10 خرداد 1388, 17:15 عصر
فکر کنم این ساده ترین راه باشه
برای تمام انواع میتونی استفاده کنی

if(int.Parse(textBox1.Text))
decimal.Parse(value);
DateTime.Parse(value)

int.TryParse برادر !

NewFoxStudent
یک شنبه 10 خرداد 1388, 17:23 عصر
بله بله درسته
اشتباهی شد
:لبخندساده::خجالت::بوس: