چرا تقسیم دو عدد در سی شارپ برابر با صفر می شود ؟
سلام دو عد int در یک پروژه سی شارپ دارم. گاهی پاسخ برابر با صفر میشه در حالی که هیچ کدام از اعداد برابر با صفر نیست. به عنوان مثال نمونه زیر رو نگاه کنید.
int a = 5;
int b = 25;
int sum = a / b;
انتظار دارم پاسخ معادله بالا 0.2 باشه نه صفر.
پاسخ هوش مصنوعی
در سی شارپ، وقتی شما دو عدد از نوع int
را تقسیم می کنید، نتیجه نیز به صورت یک عدد صحیح (int) برگردانده می شود. در این حالت، قسمت اعشاری از نتیجه حذف می شود و فقط قسمت صحیح باقی می ماند.
برای اینکه به نتیجه ای با دقت اعشاری (مثل 0.2) دست پیدا کنید، یکی از اعداد باید به نوع double
یا float
تبدیل شود. شما می توانید این کار را با استفاده از تبدیل نوع (casting) انجام دهید.
به عنوان مثال، کد شما می تواند به شکل زیر تغییر یابد:
int a = 5;
int b = 25;
double sum = (double)a / b;
با این کار، نتیجه تقسیم به صورت 0.2 خواهد بود.
پاسخ سوال شما خیلی ساده هست. چون شما اعدادتون و نتیجه نهایی خودتون رو در متغیری از نوع int تعریف کردید. ضمنا عدد اول از عدد دوم کوچکتر هست. پاسخ تقسیم شما 0.2 هست که چون کمتر از 1 هست مقدار صفر نمایش داده میشه.
شما باید متغیرها رو از نوع float تعریف کنید.
float a = 5;
float b = 25;
float sum = a / b;
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- مشکل تاریخ شمسی در سی شارپ
- نمایش گزارش stimulsoft روی کلاینت
- تفاوت های سی شارپ 8 با نسخه های قبلی چیه؟
- انتخاب چند سطر دلخواه توسط چک باکس در DataGrid و محاسبه جمع سطرهای انتخاب شده
- نمایش نوتیفکیشن در سی شارپ
- ارسال پارامتر از سی شارپ به استیمول سافت
- عدم نمایش عکس در دیتاگرید ویو در wpf
- Library Animation برای کنترلهای WPF
- مشکل در تغییر مقدار Text کنترل RibbonBar در کامپوننت DevExpress
- قرار دادن مقادیر ارسالی یک ستون از جدول به صورت سطری در استیمول