PDA

View Full Version : سوال: مشکل در حل محاسبه اعداد اعشاری



NASA's Spaceman
چهارشنبه 12 شهریور 1393, 00:16 صبح
سلام
الان از بیکاری یه برنامه نوشتم که یجاش رو داره اشتباه انجام میده واونم این هست که مثلا یه تقسیم ساده که جوابش اعشار داره رو میاد تمامی اعشار ها رو پاک میکنه:متعجب:
واقعا خیلی دلم میخواد بدونم چرا اینکار رو میکنه و اون محاسبه رو با ماشین حساب و اون پروژه سی شارپ انجام دادم که جواب ها رو خودتون تو عکس زیر مشاهده کنین همه چیز رو متوجه میشین
لطفا یکی بگه مشکل از کجاست
123033
با سپاس Spaceman

محمد آشتیانی
چهارشنبه 12 شهریور 1393, 00:45 صبح
سلام
شکل درست:

double b = ((double)6445 / 325) * 5646;
textBox1.Text = Convert.ToString(b);

برای اینکه عملگر تقسیم به شما خروجی از نوع doubleبده حتما باید یکی از عملوند های شما از نوع double باشن ، در غیر اینصورت با تقسیم دوتا مقدار int به همدیگه ، خروجی شما حتما int خواهد بود ، حتی اگر اونو تو یه متغیر از نوع double بریزید.


موفق باشید.

IamOverlord
چهارشنبه 12 شهریور 1393, 03:56 صبح
احتمالا یه راه دیگه هم این خواهد بود که به جای 6445 بنویسید 6445.0... درست می گم؟

elec60
چهارشنبه 12 شهریور 1393, 09:57 صبح
احتمالا یه راه دیگه هم این خواهد بود که به جای 6445 بنویسید 6445.0... درست می گم؟

بله درسته، کامپایلر نوع 6445 رو Int32 و نوع 6445.0 رو double میگیره
نوع 6445M رو decimal و نوع 6445F رو float در نظر میگیره