نمایش نتایج 1 تا 4 از 4

نام تاپیک: باگ جالب سی شارپ در ضرب یک float در یک double

  1. #1
    کاربر دائمی آواتار Javad_raouf
    تاریخ عضویت
    آذر 1388
    محل زندگی
    مشهد
    پست
    445

    باگ جالب سی شارپ در ضرب یک float در یک double

    سلام
    یک باگ عجیبی C#‎‎‎‎‎‎‎ داره که وقتی یک عدد اعشاری float رو در یک عدد double ضرب می کنیم نتیجه اشتباه بر می گردونه
    همین الان ویژوال استادیو رو باز کنید و این کد رو بنویسید:

     float Num1 = 85.6F;
    double Num2 = 1000;
    double Num3 = Num1 * Num2;
    MessageBox.Show(Num3.ToString());


    طبیعتا توقع دارید نتیجه عدد 85600 باشه ولی این طور نیست
    جوابی که بر می گرده این عدده:
    85599.9984741211
    یعنی چیزی نزدیک به جواب
    خیلی برام جالبه و می خوام بدونم علتش چیه کسی می دونه؟

    جالب اینجااست که اگر عدد اول float نباشه یا عدد دوم double نباشه این مشکل پیش نمیاد

    به نظر شما مشکل چیه؟

  2. #2
    کاربر دائمی آواتار Javad_raouf
    تاریخ عضویت
    آذر 1388
    محل زندگی
    مشهد
    پست
    445

    نقل قول: باگ جالب سی شارپ در ضرب یک float در یک double

    توی نسخه های متفاوت ویژوال استادیو و با ورژن های مختلف دات نت فریم ورک هم تست کردم همین مشکل هست
    به نظرم باگ نیست وگرنه تا الان فهمیده بودن بلکه یک دلیل منطقی داره که من نمی دونم

  3. #3
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: باگ جالب سی شارپ در ضرب یک float در یک double

    مشکل باگ نیست ،ماهیت ذخیره سازی اعداد در متغییر اعشاری از نوع float بصورت ممیز شناور هست.این تفاوت مقدار در تبدیل حالت ممیز شناور به اعشاری رخ میدهد.
    First,solve the problem then write the code

  4. #4
    کاربر دائمی آواتار Javad_raouf
    تاریخ عضویت
    آذر 1388
    محل زندگی
    مشهد
    پست
    445

    نقل قول: باگ جالب سی شارپ در ضرب یک float در یک double

    نقل قول نوشته شده توسط ژیار رحیمی مشاهده تاپیک
    مشکل باگ نیست ،ماهیت ذخیره سازی اعداد در متغییر اعشاری از نوع float بصورت ممیز شناور هست.این تفاوت مقدار در تبدیل حالت ممیز شناور به اعشاری رخ میدهد.
    اینو توی سایت های خارجی خوندم ولی نفهمیدم معنیشو
    گفتم کسی شاید مفهومی بتونه توضیح بده

تاپیک های مشابه

  1. سوال: استفاده از یک پروژه سی شارپ در پروژه ای دیگر
    نوشته شده توسط paridarkavir در بخش C#‎‎
    پاسخ: 8
    آخرین پست: دوشنبه 13 فروردین 1397, 09:48 صبح
  2. آموزش سی شارپ در قالب یک برنامه تجاری
    نوشته شده توسط saeed-71 در بخش C#‎‎
    پاسخ: 3
    آخرین پست: شنبه 27 آبان 1391, 15:10 عصر
  3. پاسخ: 1
    آخرین پست: پنج شنبه 21 مهر 1390, 00:40 صبح
  4. پاسخ: 0
    آخرین پست: چهارشنبه 20 مهر 1390, 18:06 عصر
  5. سوال: برنامه نویسی گروهی در سی شارپ #C روی یک پروژه؟؟؟
    نوشته شده توسط maleki_eng1359 در بخش C#‎‎
    پاسخ: 2
    آخرین پست: پنج شنبه 21 بهمن 1389, 12:24 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •