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");
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.