دسته بندی ها
23:10 1402/09/21

چرا تقسیم دو عدد در سی شارپ برابر با صفر می شود ؟

مشخصات سوال کننده :
کاربر : hamdola     امتیاز کاربر : 121     رتبه کاربر : 12
دسته بندی : سی شارپ

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 1040
هوش مصنوعی

پاسخ هوش مصنوعی

در سی شارپ، وقتی شما دو عدد از نوع int را تقسیم می کنید، نتیجه نیز به صورت یک عدد صحیح (int) برگردانده می شود. در این حالت، قسمت اعشاری از نتیجه حذف می شود و فقط قسمت صحیح باقی می ماند.

برای اینکه به نتیجه ای با دقت اعشاری (مثل 0.2) دست پیدا کنید، یکی از اعداد باید به نوع double یا float تبدیل شود. شما می توانید این کار را با استفاده از تبدیل نوع (casting) انجام دهید.

به عنوان مثال، کد شما می تواند به شکل زیر تغییر یابد:

int a = 5;
int b = 25;
double sum = (double)a / b;

با این کار، نتیجه تقسیم به صورت 0.2 خواهد بود.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : hamid_b 23:15 1402/09/21

پاسخ سوال شما خیلی ساده هست. چون شما اعدادتون و نتیجه نهایی خودتون رو در متغیری از نوع int تعریف کردید. ضمنا عدد اول از عدد دوم کوچکتر هست. پاسخ تقسیم شما 0.2 هست که چون کمتر از 1 هست مقدار صفر نمایش داده میشه.

شما باید متغیرها رو از نوع float تعریف کنید.

float a = 5;
float b = 25;
float sum = a / b;
به این پاسخ امتیاز بدهید    1
امتیاز: 518 رتبه: 4
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود