PDA

View Full Version : مبتدی: جواب اعشاری نمیشود



aliramazani
پنج شنبه 05 آذر 1394, 19:11 عصر
سلام
کد زیر را نگاه کنید. جواب باید بشه 8.4 ولی عدد 8 را بر میگردونه.

double c=2500/295;

محمد رضا فاتحی
پنج شنبه 05 آذر 1394, 19:13 عصر
سلام دوست عزیز
double c = 2500 / 295f;

البته خیلی اعشار بر می گردونه که می تونید بدلخواه با تابع Round رندش کنید

MehdiElexal
پنج شنبه 05 آذر 1394, 19:20 عصر
به این صورت میتونید استفاده کنید
double c = (double)2500 / 295;
دلیل این اختلاف حساب این هست که ویژوال بصورت پیش فرض محاسبات را از نوع INT32 در نظر میگیرد که با این راه حل نوع را مشخص میکنیم .
موفق باشید

aliramazani
پنج شنبه 05 آذر 1394, 19:26 عصر
حالا اگه به جای عدد 295 یه متغیر باشه مثلا x اونوقت f را کجا برارم؟ بنویسم xf؟

reza_ali202000
جمعه 06 آذر 1394, 01:43 صبح
2500.0
اگه بزارید جواب میده

alibaqdadloo
جمعه 06 آذر 1394, 11:00 صبح
int num = 20;
float fnum= 2.2f;
double dnum = 2.5;
double dSum = dnum + fnum;
float fSum = num + fnum;
double testCast = (float)fnum;

sgh_programer
جمعه 06 آذر 1394, 11:04 صبح
سلام

double a = 2500;
double b = 295;
double c = 0;
c= a / b;
MessageBox.Show(c.ToString());
حالا اگه متغیر ها هم از نوع دابل باشند مشکل نداره