PDA

View Full Version : سوال: نقص این برنامه کجاست؟(فقط ویژوال استودیو باز ها)



amir22448
شنبه 23 دی 1391, 13:28 عصر
سلام من یه برنامه ی ساده دارم می سازم که در رابطه با احتمال است.من وقتی می خوام یک عدد را در عدد بزرگ تر از خودش تقسیم کنم جواب رو می نویسه صفر0.برای مثال:
label1.Text = Convert.ToString(3 / 6);

من از ویژوال استودیو 10 استفاده می کنم.جواب رو می نویسه 0.در حالی که باید بنویسه 0.5.نقص کار کجاست؟

wolf_majid
شنبه 23 دی 1391, 13:38 عصر
تقسیم عدد صحیح بر صحیح میدهد صحیح
کافیه یکی از طرف ها را اعشاری کنی
label1.Text = ((float)3 / 6).ToString();

ji ming u
شنبه 23 دی 1391, 14:12 عصر
بهتره عدد اعشاری را از نوع double در نظر بگیری تا در اعداد با دقت بالا مشکلی ایجاد نشود

amir22448
شنبه 23 دی 1391, 16:13 عصر
یه چیز دیگه چرا برای مثال من 4 رو بر 7 تقسیم کردم و بر 100 ضرب کردم جواب می شه 57.1428571428571؟راهی هست که فقط بنویسه 57؟

programerinfonet
شنبه 23 دی 1391, 16:19 عصر
این همون نوع متقیرست دقیقأ نمیدونم دوابل و یا دسیمال قرار بدی درست میشه

shahin60
شنبه 23 دی 1391, 16:21 عصر
کد:
label1.Text =((int)((float)4 / 7)*100)).ToString();

wolf_majid
شنبه 23 دی 1391, 17:22 عصر
اگر میخواهید خروجی عدد صحیح باشه میتونید
1- از روش بالا استفاده کنید
2- اول عدد اول را ضرب در صد کنید بعد تقسیم کنید (در اینصورت نیاز به عد اعشار هم نیست)
3- از روش زیر استفاده کنید (عدد بعد از N تعداد اعشار را مشخص میکند)
label1.Text = ((float)4 / 7 * 100).ToString("N0");