PDA

View Full Version : سوال: چطوري مستونم 3 رقم از آخر يك textboxرو جدا كنم ؟؟؟؟



ایمان مدائنی
شنبه 24 بهمن 1388, 13:45 عصر
سلام !
ببخشيد كه من زياد سوال ميپرسم !
خب تو دانشگاههاي ما زياد ياد نميدن !
سوالم اينه :
من يك TextBox دارم كه متن داخلش اينه 1985450 حالا مي خوام 3 رقم آخرش رو جدا كنم !
مثلا من ميخوام 450 رو جدا كنم و داخله يك متغر int ‌بريزم !
اگه كسي ميدونه كدش رو برام بزاره !
ممنونم !
همگي موفق باشيد !

dousti_design
شنبه 24 بهمن 1388, 14:19 عصر
سلام.
شما باید این عدد رو 3بار بر 10 تقسیم کنید و باقیمانشو بردارید.
1985450/10=198545
(باقیماندش میشه صفر)
198545/10=19854(بقیماندش میشه 5)
وی همینطور تا آخر.
حالا مثلا 450 رو توی یه آرایه دارید.( 0 توی یه درایه، 5 یه درایه، و 4هم یه درایه دیگه)
حالا باید داخل یک حلقه این رو بذارید توی یه متغیر int.



int a=0;

for(int i=0;i<n;i++)//n tedade arghami ke mikhahid biroon biavarid(dar inja 3)
{
a+=array[0]*pow(10,i);//pow tabee tavan ast va array arayeest ke adad dar an zakhire shode ast
}

مثلا 1985450:
3بار تقسیم بر 10 میکنیم و در آرایه ذخیره میکنیم.
و بعد 450 رو که درآوردیم: به این صورت در متغیر قرار میدیم.
اول عدد صفر را ضربدر 10 به توان صفر میکنیم که میشه صفر. بعد عدد 5 رو ضربدر 10 به توان یک میکنیم که میشه 50. و بعد عدد 4 رو ضربدر 10 به توان 2 میکنیم که میشه 400 و حاصل جمعشون میشه جواب: 450

r00tkit
شنبه 24 بهمن 1388, 14:47 عصر
اقا این همه پیچوندن نداره پس این همه class و method رو برای کی ساختن؟؟؟؟؟؟



int s = int.Parse(textBox1.Text.Substring(textBox1.Text.Le ngth - 3, 3));


textBox1=اسم textBox

3 تعداد کاراکتر ها که می تونه هر چند تا باشه

dousti_design
شنبه 24 بهمن 1388, 14:53 عصر
من الگوریتمشو نوشتم و مختص هیچ زبان خاصی نیست. بله با روش شما هم میشه این کار رو کرد.
موفق باشید!

r00tkit
شنبه 24 بهمن 1388, 18:56 عصر
در جواب اقای iman_lovely666 (http://barnamenevis.org/forum/member.php?u=125609)

رند کردن 2 رقم ا خر ( موضوع رند کردن سه رقم اخره ولی تو توضیح سوال به 50 تومان اخر اشاره شده پس می شه 2 رقم اخر)

البته خود 50 رو روند نکردم فقط کافیه یه = توی شرط بزاری




private void button2_Click(object sender, EventArgs e)
{
int x = int.Parse(textBox1.Text);
string d = x.ToString().Substring(textBox1.Text.Length-2,2);
if (int.Parse(d) > 50)
{
x -= int.Parse(d);
x += 100;
}
if (int.Parse(d) < 50)
x -= int.Parse(d);

}
x اخر رند شده هستش.

موفق باشی

ایمان مدائنی
شنبه 24 بهمن 1388, 20:49 عصر
عزيز خيلي ممنونم
يه كوچولو دستكاريش كردم و به جوابي كه مي خواستم رسيدم


private void button1_Click(object sender, EventArgs e)
{
int x = int.Parse(textBox1.Text);
string d = x.ToString().Substring(textBox1.Text.Length - 3, 3);
if (int.Parse(d) >= 500)
{
x -= int.Parse(d);
x += 1000;
}
if (int.Parse(d) < 500)
{
x -= int.Parse(d);
}
textBox2.Text = Convert.ToString(x);
}



جواب داد !
هیچ کس بلد نبود !

r00tkit
شنبه 24 بهمن 1388, 21:50 عصر
هیچ کس بلد نبود




پس من چی بودم !!!wink

slashslash2009
شنبه 24 بهمن 1388, 21:55 عصر
string d = x.ToString().Substring(textBox1.Text.Length - 3, 3);
تا اینجاش درست ولی بقیش چیه چه ربطی به سواله اولتون داشت

ایمان مدائنی
شنبه 24 بهمن 1388, 22:14 عصر
پس من چی بودم !!!wink

عزیز منظورم 3 رقم آخر نبود !
من که از شما تشکر کردم !
منظورم کله سوال بود !
آخه جواب سوالم رو شما از یه بحثه دیگه در اینجا داديد !
قصد جسارت نداشتم !
خب شما جواب سوالمو داديد !