PDA

View Full Version : تابع تبدیل رشته به عدد



دختر باران
شنبه 19 دی 1388, 12:07 عصر
با سلام

تابع تبدیل رشته به عدد صحیح رو می خوام دوستان.رشته"3" به عدد 3
واینکه چه کدی بنویسم که هر سطری از دیتا گرید رو انتخاب کنم شماره اون سطر رو بهم بده؟

با سپاس.

CYCLOPS
شنبه 19 دی 1388, 12:10 عصر
سلام
با جستجو سریع تر به جواب میرسید
(دو لینک زیر رو ببینید)

با سلام
تابع تبدیل رشته به عدد صحیح رو می خوام دوستان.رشته"3" به عدد 3

Convert.ToInt32("عدد دلخواه به صورت رشته")
مشکل در تبدیل یه رشته شامل اعداد فارسی به عدد (http://barnamenevis.org/forum/showthread.php?t=141742&highlight=%D8%B1%D8%B4%D8%AA%D9%87+%D8%B9%D8%AF%D8 %AF)



واینکه چه کدی بنویسم که هر سطری از دیتا گرید رو انتخاب کنم شماره اون سطر رو بهم بده؟

باید از e.selectedIndex یا e.selectedRow یا یه همچین چیزی (الان دقیق یادم نیست تو لینکی که گذاشتم راحت پیداش میکنید) در رویداد دلخواهتون استفاده کنید .
طریقه کار بر روی سلول های DataGridView (http://barnamenevis.org/forum/showthread.php?t=148043&highlight=%D8%B1%D8%B4%D8%AA%D9%87+%D8%B9%D8%AF%D8 %AF)

دختر باران
شنبه 19 دی 1388, 12:25 عصر
ممنون. فقط دوست عزیزم من می خوام اول اون رشته رو تو یک متغیر از نوع string بریزم, بعدش اون متغیر رو به عدد صحیح تبدیل کنم .مثل این


int y = Convert.ToInt32(x);


ولی بهم error می ده...

CYCLOPS
شنبه 19 دی 1388, 12:30 عصر
مطمئنید رشتتون فقط عدد هست ??
مثلا اگر همچین حالتی باشه Exception دریافت خواهید کرد :
2b

AliRezaPro
شنبه 19 دی 1388, 12:36 عصر
به مثال ها دقت کنید

int i = int.Parse(textBox1.Text);
and

IDNumber = dataGridView1.Rows[e.RowIndex].Cells["ID"].Value.ToString();

دختر باران
شنبه 19 دی 1388, 12:43 عصر
کدی که نوشتم اینه:


string x = dataGridView1.SelectedRows.ToString();
int y = Convert.ToInt32(x);


ولی از متغیر x ایراد می گیره و وقتی به جای متغیر x خود رشته رو می نویسم"3" درست عمل می کنه!

ASKaffash
شنبه 19 دی 1388, 12:47 عصر
کدی که نوشتم اینه:


string x = dataGridView1.SelectedRows.ToString();
int y = Convert.ToInt32(x);


ولی از متغیر x ایراد می گیره و وقتی به جای متغیر x خود رشته رو می نویسم"3" درست عمل می کنه!
سلام
روش استفاده از SelectedRows غلط است :
this.dataGridView1.SelectedRows[0].Cells["..."].Value.ToString()

CYCLOPS
شنبه 19 دی 1388, 12:53 عصر
کدی که نوشتم اینه:


string x = dataGridView1.SelectedRows.ToString();
int y = Convert.ToInt32(x);
ولی از متغیر x ایراد می گیره و وقتی به جای متغیر x خود رشته رو می نویسم"3" درست عمل می کنه!


باید از e.RowIndex استفاده کنید که خودش int هست
مثلا :



private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
int y = e.RowIndex;
}
یا اگر حتما به تبدیل رشته نیاز دارید اینجوری : (که البته این کد اصلا جالب نیست:لبخندساده:)


private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
string x = e.RowIndex.ToString();
int y = Convert.ToInt32(x);
}

slashslash2009
شنبه 19 دی 1388, 12:57 عصر
textBox1.Text = dataGridView1.CurrentRow.Cells[6].Value.ToString();به سطری که که انتخاب کردین و سلول 6 (فیلد 6) اشاره میکنه البته سلولها یا فیلدها یا خانه ها از صفر شروع میشن

دختر باران
شنبه 19 دی 1388, 13:31 عصر
از همتون ممنونم
ولی بعد از نوشتن این کد این ایراد رو می گیره زمانی که روی سطر دیتا گرید کلیک می کنم


private void dataGridView1_MouseDown(object sender, MouseEventArgs e)
{

textBox5.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();

}

error:An unhandled exception of type 'System.NullReferenceException' occurred in project_map1.exe
Additional information: Object reference not set to an instance of an object.

saed2006
شنبه 19 دی 1388, 13:34 عصر
یک try catch بزار درست میشه




private void dataGridView1_MouseDown(object sender, MouseEventArgs e)
{
try}
textBox5.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();
}catch{}
}

دختر باران
شنبه 19 دی 1388, 13:51 عصر
سعید جان درست شد ولی این کدی که شما گفتین محتویات یک سلول رو از خط اتخابی به ما می ده
من می خوام ایندکس اون سطر رو به دست بیارم
ازت ممنونم.الان دارم می رم خونه, فردا پیامتو می خونم:لبخندساده:

FastCode
شنبه 19 دی 1388, 14:13 عصر
int x = -1;
if(grid.CurrentRow!=null)
x = grid.CurrentRow.Index;

pakhgirl11
یک شنبه 21 آذر 1389, 21:45 عصر
سلام
میشه بگید اگه توی رشته مون space داشتیم باید چه کنیم؟
من یه صورت یه STRING گرفتم ولی ظاهرا نمیشه.

group45
دوشنبه 22 آذر 1389, 00:53 صبح
سلام
به جواب های من تو تایپیک زیر توجه کنید حتما جوابتون رو پیدا میکنید
http://barnamenevis.org/showthread.php?245668-%D9%BE%D9%8A%D8%AF%D8%A7-%D9%83%D8%B1%D8%AF%D9%86-%D8%B9%D8%AF%D8%AF-%D8%AF%D8%B1-%D9%8A%D9%83-%D8%B1%D8%B4%D8%AA%D9%87

m * h * d
دوشنبه 22 آذر 1389, 10:13 صبح
سلام من یک روش دیگه برای تبدیل کاراکتر به عدد رو بهتون می گم ازش استفاده کنید
int32 X;
int32.tryparse(نام متغییر , out x);
دراین روش اگه داخل متغییر حرف هم باشه برنامه خطا نمی ده و فقط مقدار صفر برمیگردونه

و برای مشکلی که دارید
شما در خاصیت cellmouseclick datagrid خودتون این کد رو بنویسید
textBox5.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();

negar.v
جمعه 02 بهمن 1394, 18:55 عصر
سلام
کسی میتونه بگه چطور میشه داده هایی که به صورت حرف (رشته هستن) به عدد یا صفر و یک تبدیل کرد؟
من یک دیتا ست دارم که یک سطرش به صورت زیره
State-gov, 77516, Bachelors, 13, Never-married, Adm-clerical, Not-in-family, White, Male, 2174, 0, 40, United-States,K
می خواستم ببینم چطور میشه این داده ها رو به صفر و یک تبدیل کرد
یا اگه به صفر و یک نمیشه حداقل عددی بشه