View Full Version : گرفتن مقدار و جدا کردن ان از rich textbox
single_2008boy
شنبه 05 آذر 1390, 09:02 صبح
سلام من می خوام n تا مقدار از rich textbox بگیرم و با "," از هم جدا کنم مقدارم هم اعشاری است چی کار کنم؟
asadegha
شنبه 05 آذر 1390, 09:42 صبح
سلام.
یکم واضح تر مسئله رو بگو. یعنی می خوای توی یه rt بیای خودت عدد بدی و با , جدا کنی؟
با متد های indexOf و subString کار جدا سازی رو میتونی انجام بدی.
textbox1.Text.IndexOf(Value, StartIndex)
textbox1.Text.SubString(startIndex, Length)
single_2008boy
شنبه 05 آذر 1390, 15:08 عصر
اره میشه یکم بیشتر توضیح بدی چه جوریه؟
asadegha
یک شنبه 06 آذر 1390, 13:21 عصر
indexof:
یه رشته یا یه کاراکتر رو توی رشته مورد نظرت جستجو میکنه و شماره خونه مقداری که داری سرچ می کنی رو بر میگردونه.
value مقداری هست که در رشته مورد نظرت پیدا میکنه و شماره خونه اون (index) رو بهت میده. اگه پیدا نکرد -1 بر میگردونه.
startindex خونه ی شروع جستجو در رشته رو مشخص میکنه. یعنی اگه صفر باشه منظورش اول جمله هست.
مثلا:
string str = "12,18,17,20";
int index = str.IndexOf(',', 0); //index=2
index = str.IndexOf(',', 6); //index=8
----------------------------
substring:
بخشی از رشته مورد نظر رو بر میگردونه.
startindex توضیح مثل بالا.
length طول یا تعداد کاراکتر هایی هست که می خوای از نقطه startindex برات برگردونه.
مثلا:
string str = "12,18,17,20";
string substr = str.Substring(3, 5); //substr = "18,17"
asadegha
یک شنبه 06 آذر 1390, 13:47 عصر
حالا شما می خوای اعداد مورد نظرت رو جدا کنی.
باید درون حلقه قرار بدی و عملیات جدا سازی رو انجام بدی.
کدش رو نوشتم برات میزارم. سوال داری بپرس.
//farz mikonim textboxe shoma maghadire zir ro dare
//textBox1.Text = "12,1998,107,0,149,1000,16666";
//va ba farze inke maghadir ro badaz joda sazi
//dar araye int gharar mide.
string str = textBox1.Text;
int[] a = new int[100];
int index = -1;
int startindex = 0;
int i = 0;
do
{
index = str.IndexOf(',', index + 1);
if (index == -1 && startindex < str.Length) index = str.Length;
int length = index - startindex;
a[i++] = int.Parse(substr);
startindex = index + 1;
} while (index != str.Length);
asadegha
یک شنبه 06 آذر 1390, 13:51 عصر
یادم رفت عدد اعشاری بود. بازم فرقی نداره.
بجای آرایه int از float استفاده کن.
بجای int.parse از float.parse استفاده کن.
asadegha
دوشنبه 14 آذر 1390, 22:34 عصر
از splite هم می تونی استفاده کنی.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.