PDA

View Full Version : جمع زدن دو تا Label



شهابسلطانی
دوشنبه 14 دی 1394, 16:16 عصر
سلام
کد زیر رو نوشتم که دو تا لیبل با هم جمع بشن ولی error میده
لطفا راهنمایی بفرمایید

float x, y;
x = Convert.ToInt32(label8.Text);
y = Convert.ToInt32(label19.Text);
label21.Text = (x / y).ToString();

ebrahim.rayatparvar
دوشنبه 14 دی 1394, 16:44 عصر
متغیر از نوع اعشاری چرا تبدیل مقدار لیبل رو صحیح میکنی؟

محمد رضا فاتحی
دوشنبه 14 دی 1394, 17:50 عصر
آخر نفهمیدم جمع بشن یا تقسیم.... خطا میده؟ مشکلش چیه میشه دقیق بفرمایید؟

شهابسلطانی
دوشنبه 14 دی 1394, 18:14 عصر
آخر نفهمیدم جمع بشن یا تقسیم.... خطا میده؟ مشکلش چیه میشه دقیق بفرمایید؟
ببخشید دوستان من اشتباهی کد رو گذاشتم
حالا جمع زدن دو تا لیبل که عدد برمیگردونن چطوریه؟

sara_aryanfar
دوشنبه 14 دی 1394, 19:10 عصر
سعی کنید در این موارد متن خطا رو هم بزارید تا با دقت بیشتری راهنمایی شوید اما تصور می کنم ارری که با توجه به کد شما خواد داد در صورتی که مقادیر لیبل های ورودی به تابع کانورد اعشاری باشند

Input string was not in a correct format. این هست که فرمت ورودی رو قبول نمی کنه


float x, y;
x = float.Parse(label1.Text);
y = float.Parse(label2.Text);

label3.Text =""+ (x + y);

کد بالا رو با توجه به نوع کد نویسی خودتون نوشتم که راحت درک بشه اما تلاش کنید از همون اول نوع کد نویسی رو حتی در شبه کد ها هم درست انجام بدین مثل نام گذاری متغیر ها و غیره چون عادت خواهد شد و زمانی خواهد رسید که در داخل 1000 خط کد صد ها x رو خواهید داشت که مستند سازی رو هم مشکل خواهد کرد هر چند شاید برنامه هم درست کار کنه اما از خوانایی کمی برخوردار میشه

شهابسلطانی
دوشنبه 14 دی 1394, 19:22 عصر
سعی کنید در این موارد متن خطا رو هم بزارید تا با دقت بیشتری راهنمایی شوید اما تصور می کنم ارری که با توجه به کد شما خواد داد در صورتی که مقادیر لیبل های ورودی به تابع کانورد اعشاری باشند

Input string was not in a correct format. این هست که فرمت ورودی رو قبول نمی کنه


float x, y;
x = float.Parse(label1.Text);
y = float.Parse(label2.Text);

label3.Text =""+ (x + y);

کد بالا رو با توجه به نوع کد نویسی خودتون نوشتم که راحت درک بشه اما تلاش کنید از همون اول نوع کد نویسی رو حتی در شبه کد ها هم درست انجام بدین مثل نام گذاری متغیر ها و غیره چون عادت خواهد شد و زمانی خواهد رسید که در داخل 1000 خط کد صد ها x رو خواهید داشت که مستند سازی رو هم مشکل خواهد کرد هر چند شاید برنامه هم درست کار کنه اما از خوانایی کمی برخوردار میشه
ممنون از راهنماییتون
ولی باز هم همون خطایی که خودتون رو نوشتید داره میده

sara_aryanfar
دوشنبه 14 دی 1394, 20:10 عصر
دوست گرامی شما مقادیری که لیبل هات دارن رو بزار اینجا تا بگم موردت کجاست شما ورودی درست نمیدی

shabgard2oo9
سه شنبه 15 دی 1394, 11:43 صبح
خط آخر رو بصورت زیربنویس ببین درست نمیشه...
label3.text=""+(x+y).tostring();

شهابسلطانی
سه شنبه 15 دی 1394, 13:14 عصر
ممنون درست شد ولی
داره عدد 179/000/000/000 را با عدد106/000/000/000 جمع میکنه
اما حاصل رو اینطوری نشون میده
2850000E+11

shabgard2oo9
سه شنبه 15 دی 1394, 15:00 عصر
احتمالا از مقادرمجازمتغیرهات تجاوزمیکنه.نوع متغیرهات روعوض کنی شاید درست بشه مثلا بجای float از double استفاده کن.

sara_aryanfar
سه شنبه 15 دی 1394, 18:41 عصر
خط آخر رو بصورت زیربنویس ببین درست نمیشه...
label3.text=""+(x+y).tostring();
ما دو نوع تبدیل داریم که من از نوع ضمنی استفاده کردم اون دابل کوتنشن اول برا همین بود

در مورد سوالات دوستمون پیشنهاد می کنم حتما متغییر ها و بازه قابل قبول اون ها رو مطالعه کنید
و در کل حتما و حتما سعی کنید قبل از شروع پایه مباحث برنامه نویسی رو یاد بگیرید و بعد شروع به تولسد برنامه های مختلف کنید و دچار خطاهای کوچک نشید چون زمانی که برای یک خطای ساده دارید از دست میدید باور کنید بسیار با ارزش هست