PDA

View Full Version : سوال: گرفتن میانگین به صورت خرده ای



09178525592
چهارشنبه 09 مرداد 1392, 00:51 صبح
سلام دوستان عزیز من برای گرفتن میانگین در برنامم از کد زیر استفاده میکنم ولی اگر در تکست باکس مثلا 19.5 یا 18.25 رو تایپ کنم و میانگین رو بزنم نمیتونه صحیح حساب کنه ، لطفا راهنمایی کنید؟؟
؟؟؟

if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "")
{
MessageBox.Show("فيلدهاي میانگین هفته بايد نوشته شوند", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
int totalValue = 0;
foreach (Control c in this.Controls)
{
if (c.GetType().Name.ToString() == "TextBox")
{
int value = 0;
if (int.TryParse(((TextBox)c).Text, out value))
totalValue += value;
textBox5.Text = (totalValue / 4).ToString();
}
}
}

09178525592
چهارشنبه 09 مرداد 1392, 01:03 صبح
لطفا یکی کمک کنه؟

iranolom
چهارشنبه 09 مرداد 1392, 01:36 صبح
خب چون شما عدد رو به int دارید تبدیل می کنید شما باید از نوع های اعشاری مثل double استفاده کنید به جای اون int

اگر منظورتون این است که قسمت اعشار هم پردازش بشه

09178525592
چهارشنبه 09 مرداد 1392, 01:43 صبح
خب چون شما عدد رو به int دارید تبدیل می کنید شما باید از نوع های اعشاری مثل double استفاده کنید به جای اون int

اگر منظورتون این است که قسمت اعشار هم پردازش بشه


دوست عزیز میشه این تکه کد رو برام اصلاحش کنید ممنون میشم؟؟؟!!

iranolom
چهارشنبه 09 مرداد 1392, 01:53 صبح
else {
double totalValue = 0;
foreach (Control c in this.Controls)
{
if (c.GetType().Name.ToString() == "TextBox")
{
double value = 0;
if (double .TryParse(((TextBox)c).Text, out value))
totalValue += value;
textBox5.Text = (totalValue / 4).ToString();
}
}
}








البته دسترسی به ویرایشگر نداشتم چک کنم ولی به کل وضعیت کلی اینجوریه

esafb52
چهارشنبه 09 مرداد 1392, 01:53 صبح
دوست عزیز شما در این مقادیرintچطور 19.5 رو قرار میدی؟؟؟؟ البته اگر بخوای فقط مقادیر صحیح رو بدست بیاری:

double d = 19.5;
int a = (int)d;
و الا از همون دابل استفاده کن هیچ مشکلی هم نداره

09178525592
چهارشنبه 09 مرداد 1392, 02:13 صبح
دوستان دستتون درد نکنه زحمت کشیدید.:خجالت: