View Full Version : سوال: Round کردن اعداد
aroshanzamir
جمعه 16 خرداد 1393, 12:01 عصر
سلام دوستان من چطوری می تونم
قیمت یه کالا با محاسباتی که روش انجام میشه
اگر مثلا شد 3575 تومان (سه هزار و پانصد و هفتاد و پنج تومان) اون را به مثلا 3600 یا 4000 روند کنم
CsharpNevisi
جمعه 16 خرداد 1393, 12:46 عصر
میتونی به جای دو یا سه رقم اخر با substring و replase صفر بزاری
aroshanzamir
جمعه 16 خرداد 1393, 13:17 عصر
فکر نکنم راه درستی باشه
من که نمی دونم تعداد ارقام چند تاست هر بار تغیر می کنه
ممکنه یه بار بشه 35987
یه بار بشه 3987
و یه بار دیگه 987
حالا چطور ؟
قبول دارم میشه اول تعداد ار قام را بگیرم و بعد با تعداد ار قام یکی
یه عدد واسه substring انتخاب کنیم
ولی فکر نکنم راه حل درستی باشه
aliagamon
جمعه 16 خرداد 1393, 13: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();
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.