PDA

View Full Version : سوال: در مورد تعریف متغیر اعشاری



kamran_14
یک شنبه 24 اردیبهشت 1391, 14:10 عصر
سلام
ما در c++ برای تعریف متغیر اعشاری از float استفاده می کردیم اما در C# اگه متغیری رو از نوع float تعریف کنیم و یه مقدار اعشاری بدیم موقع اجرا خطا می ده. نمی دونم چرا اینطوری می شه؟ برای این حالت باید از double استفاده کنیم پس از float کی استفاده می کنیم؟

syntiberium
یک شنبه 24 اردیبهشت 1391, 17:04 عصر
float f1=123.456f;
اون f رو باید حتما آخرش بزاری چون در غیر اینصورت double حساب می شه .

kamran_14
سه شنبه 26 اردیبهشت 1391, 19:53 عصر
اون f رو باید حتما آخرش بزاری چون در غیر اینصورت double حساب می شه
سلام
اگه مقدار متغیر توسط برنامه نویس داده بشه باید به آخرش f بذاریم ؟
اگه این مقدار توسط کاربر داده بشه یا در طول برنامه مشخص بشه لازم نیس؟

gwbasic
سه شنبه 26 اردیبهشت 1391, 20:07 عصر
اگر مقدار توسط برنامه نویس و زمان کامپایل ست می شه حتما باید f‌ در آخر عدد اعشاری اضافه شود یا باید به float کست شود

float f = (float) 12.5;

اگر توسط کاربر وارد می شه احتملا از طریق TextBox‌وارد شده که باز هم این مقدار string توسط convertor باید تبدیل به float شود (همانطور که تبدیل به int‌می کنید)

پیشنهاد می کنم از همان ابتدا برای اعداد اعشاری از double‌ استفاده کنید