PDA

View Full Version : سوال: مشکل محاسبه عبارت زیر چیست؟



mehdi2004171
جمعه 27 تیر 1393, 10:50 صبح
مشکل محاسبه دستور زیر چیست

Int64 x=Int64.Parse(Math.Round((double)(36*(94137/72))).ToString());

اگر محاسبه با C#‎ انجام شود عدد 47052 نمایش داده می شود که اشتباه است و عدد باید 47068 باشد.
مشکل از کجاست؟

elec60
جمعه 27 تیر 1393, 10:58 صبح
بجای ۹۴۱۳۷ بزار ۹۴۱۳۷.۰ و بجای ۷۲ هم ۷۲.۰

mehdi2004171
جمعه 27 تیر 1393, 17:17 عصر
بجای ۹۴۱۳۷ بزار ۹۴۱۳۷.۰ و بجای ۷۲ هم ۷۲.۰

متشکرم ولی می خواهم بدانم علت این مشکل چیست؟

abbas.oveissi
جمعه 27 تیر 1393, 17:22 عصر
متشکرم ولی می خواهم بدانم علت این مشکل چیست؟
در سی شارپ زمانی تقسیم به عنوان تقسیم اعشاری حساب میشود که حداقل یکی از طرفین تقسیم عدد اعشاری باشند.چون شما دو طرف تقسیم عدد صحیح دارید ، سی شارپ اینو به عنوان تقسیم عدد صحیح حساب میکند و در نتیجه محاسبات شما اشتباه میشود.