PDA

View Full Version : سوال: Round کردن اعداد



aroshanzamir
جمعه 16 خرداد 1393, 11:01 صبح
سلام دوستان من چطوری می تونم

قیمت یه کالا با محاسباتی که روش انجام میشه
اگر مثلا شد 3575 تومان (سه هزار و پانصد و هفتاد و پنج تومان) اون را به مثلا 3600 یا 4000 روند کنم

CsharpNevisi
جمعه 16 خرداد 1393, 11:46 صبح
میتونی به جای دو یا سه رقم اخر با substring و replase صفر بزاری

aroshanzamir
جمعه 16 خرداد 1393, 12:17 عصر
فکر نکنم راه درستی باشه

من که نمی دونم تعداد ارقام چند تاست هر بار تغیر می کنه

ممکنه یه بار بشه 35987
یه بار بشه 3987
و یه بار دیگه 987

حالا چطور ؟
قبول دارم میشه اول تعداد ار قام را بگیرم و بعد با تعداد ار قام یکی
یه عدد واسه substring انتخاب کنیم
ولی فکر نکنم راه حل درستی باشه

aliagamon
جمعه 16 خرداد 1393, 12:20 عصر
دو راه داری اولیش اینکه از تابع روند خود سی شارپ استفاده کنی :

double a = 3575/(double)100;
a = Math.Round(a);
textBox1.Text = (a*100).ToString();

تو کد بالا اگه خواستی به 4000 روند کنه باید 3 رقم رند کنی (ضریب بشه 1000)
یه راه دیگه هم داری که خودت بیای تقسیم به 100 کنی بخش اعشارو حذف کنی به اضافه ی یک کنی ضرب در 100 کنی ... اما روش اول بهتره ... :لبخند:
+ آپدیت :
اگه ارقام مشخص نیست از این استفاده کنید :

double a = 987344;
double zarib=Math.Pow(10,a.ToString().Length-1);
a = a /zarib ;
a = Math.Round(a);
textBox1.Text = (a * zarib).ToString();